WPF Binding Without INotifyPropertyChanged: Why the Source Stays in Memory
With a OneWay or TwoWay binding to a non-INotifyPropertyChanged source, .NET 10 collects the closed window but keeps the source as a PropertyDescriptor key.
Hands-on knowledge for building Windows desktop applications with WPF and .NET, in two forms: technical articles that work through real implementation problems, and open-source apps, libraries, and tools built along the way. It is written for developers who want practical implementation references rather than surface-level overviews.
The technical articles cover WPF, XAML, C# and .NET topics in depth — each one states its prerequisites and target environment, explains the cause behind a behavior rather than only the fix, and notes the trade-offs against the alternatives. The applications are the practical counterpart: WPF sample apps, libraries, and tools, published as open source with links to their GitHub repositories.
With a OneWay or TwoWay binding to a non-INotifyPropertyChanged source, .NET 10 collects the closed window but keeps the source as a PropertyDescriptor key.
Uncaught button-run AsyncRelayCommand errors hit DispatcherUnhandledException; FlowExceptionsToTaskScheduler held them, view model alive, until a rerun GC.
ObservableValidator shows no error on an empty required field at startup: HasErrors is False until validation runs. ValidateAllProperties fixes it two ways.
A demo application showcasing standard WPF controls running on .NET 10. Useful as a reference for UI layout and styling.
A tool for generating customizable MessageBox samples. Helpful for UI prototyping and behavior testing.
A lightweight XAML extension library for WPF that adds no additional third-party runtime dependencies. Provides MVVM foundations such as BindableBase and RelayCommand, used as a project reference or as a package from a local or private NuGet feed.
A Windows tool that pastes copied files while preserving folder structure. With tray-resident behavior and a global shortcut, it streamlines everyday file operations.