Releasing the Image File Locked by BitmapImage in WPF with BitmapCacheOption.OnLoad
An image file shown through BitmapImage cannot be deleted or overwritten. This covers the default caching behavior behind it and the OnLoad fix.
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.
An image file shown through BitmapImage cannot be deleted or overwritten. This covers the default caching behavior behind it and the OnLoad fix.
The default string sort orders "item10" before "item2". This shows how to reproduce Explorer's natural sort order via StrCmpLogicalW P/Invoke in an IComparer.
A custom RelayCommand's button stays stuck when CanExecuteChanged is never raised. This compares delegating to RequerySuggested with raising it manually.
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, dependency-free XAML extension library for WPF. Provides MVVM foundations and WPF-specific attached behaviors as NuGet packages.
A Windows tool that pastes copied files while preserving folder structure. With tray-resident behavior and a global shortcut, it streamlines everyday file operations.