NuExt.Presentation.Wpf
0.7.5
Prefix Reserved
dotnet add package NuExt.Presentation.Wpf --version 0.7.5
NuGet\Install-Package NuExt.Presentation.Wpf -Version 0.7.5
<PackageReference Include="NuExt.Presentation.Wpf" Version="0.7.5" />
<PackageVersion Include="NuExt.Presentation.Wpf" Version="0.7.5" />
<PackageReference Include="NuExt.Presentation.Wpf" />
paket add NuExt.Presentation.Wpf --version 0.7.5
#r "nuget: NuExt.Presentation.Wpf, 0.7.5"
#:package NuExt.Presentation.Wpf@0.7.5
#addin nuget:?package=NuExt.Presentation.Wpf&version=0.7.5
#tool nuget:?package=NuExt.Presentation.Wpf&version=0.7.5
NuExt.Presentation.Wpf
NuExt.Presentation.Wpf is a lightweight, WPF-focused presentation library providing XAML helpers, control extensions, data-binding utilities, diagnostics, and templating helpers. It enables clean, reusable presentation code across WPF applications with minimal dependencies.
Highlights
- Control extensions —
TreeViewItemHelper,ComboBoxExtensions,VirtualizingStackPanelExtensions,ControlExtensionsfor common WPF control operations. - Binding helpers —
BindingProxyandBindingProxy<T>to pass DataContext across templates and containers without direct binding paths. - Framework extensions —
FrameworkElementExtensions,DependencyObjectExtensions,WindowExtensionsfor element and window operations. - Window placement —
WindowPlacementto save/restore window position, size, and state with minimal code. - Diagnostics —
BindingErrorTraceListenerto capture and display WPF binding errors in debug builds. - Templating —
ComboBoxItemTemplateSelectorand reusable XAML styles (TreeViewItem, etc.). - Zero heavy dependencies — only depends on
NuExt.Systemand WPF framework types.
Compatibility
WPF on .NET 8/9/10 and .NET Framework 4.6.2+. Platform-independent usage patterns suitable for any MVVM framework.
Quick Start
Binding across templates with BindingProxy
<Window.Resources>
<local:BindingProxy x:Key="proxy" DataContext="{Binding SomeViewModel}" />
</Window.Resources>
<Grid DataContext="{Binding Source={StaticResource proxy}, Path=DataContext}">
</Grid>
Enable binding error diagnostics
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
PresentationTraceSources.Refresh();
PresentationTraceSources.DataBindingSource.Switch.Level = SourceLevels.Warning;
PresentationTraceSources.DataBindingSource.Listeners.Add(new BindingErrorTraceListener());
}
Save/restore window placement
var placement = WindowPlacement.GetPlacement(windowHandle);
// ... later, restore
WindowPlacement.SetPlacement(windowHandle, placement);
Find TreeViewItem by data item
var treeView = ...;
var item = treeView.GetTreeViewItem(myDataItem);
if (item != null) item.IsSelected = true;
Why NuExt.Presentation.Wpf?
- Reusable — proven presentation patterns you can share across projects.
- Minimal — no bloat, no heavy frameworks; pure WPF and .NET goodness.
- Fast — efficient extensions with careful attention to performance.
- Debuggable — built-in diagnostics and clean, easy-to-follow code.
Installation
Via NuGet:
dotnet add package NuExt.Presentation.Wpf
Or via Visual Studio:
- Go to
Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution.... - Search for
NuExt.Presentation.Wpf. - Click "Install".
Ecosystem
- NuExt.Minimal.Behaviors.Wpf
- NuExt.Minimal.Mvvm.SourceGenerator
- NuExt.Minimal.Mvvm.Wpf
- NuExt.Minimal.Mvvm.MahApps.Metro
- NuExt.System
- NuExt.System.Data
- NuExt.System.Data.SQLite
Contributing
Issues and PRs are welcome. Keep changes minimal and performance-conscious.
License
MIT. See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net9.0-windows7.0 is compatible. net10.0-windows was computed. net10.0-windows7.0 is compatible. |
| .NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 is compatible. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.6.2
- NuExt.System (>= 0.7.5)
-
.NETFramework 4.7.1
- NuExt.System (>= 0.7.5)
-
net10.0-windows7.0
- NuExt.System (>= 0.7.5)
-
net8.0-windows7.0
- NuExt.System (>= 0.7.5)
-
net9.0-windows7.0
- NuExt.System (>= 0.7.5)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on NuExt.Presentation.Wpf:
| Package | Downloads |
|---|---|
|
NuExt.DevExpress.Mvvm
Provides extensions and utilities for the DevExpress MVVM Framework with a focus on asynchronous operations in WPF. Improves async workflow handling, enhances ViewModel infrastructure, and offers async‑aware services that simplify building responsive MVVM applications. |
|
|
NuExt.Minimal.Mvvm.Wpf
NuExt.Minimal.Mvvm.Wpf is an extension for the lightweight MVVM framework NuExt.Minimal.Mvvm, specifically designed for WPF applications. Commonly Used Types: Minimal.Mvvm.ModelBase Minimal.Mvvm.Wpf.ControlViewModel Minimal.Mvvm.Wpf.DocumentContentViewModelBase Minimal.Mvvm.Wpf.WindowViewModel Minimal.Mvvm.Wpf.IAsyncDialogService Minimal.Mvvm.Wpf.IAsyncDocument Minimal.Mvvm.Wpf.IAsyncDocumentContent Minimal.Mvvm.Wpf.IAsyncDocumentManagerService Minimal.Mvvm.Wpf.InputDialogService Minimal.Mvvm.Wpf.OpenWindowsService Minimal.Mvvm.Wpf.SettingsService Minimal.Mvvm.Wpf.TabbedDocumentService Minimal.Mvvm.Wpf.ViewLocator Minimal.Mvvm.Wpf.WindowedDocumentService Minimal.Mvvm.Wpf.WindowPlacementService |
GitHub repositories
This package is not used by any popular GitHub repositories.