This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can trysigning in orchanging directories.
Access to this page requires authorization. You can trychanging directories.
This article provides a high-level overview about what's new with Windows Presentation Foundation (WPF) in .NET 10 Preview. For detailed information, see therelease announcements.
.NET 10 Preview 5 was released in June 2025.
Each release announcement provides detailed information about WPF changes for .NET 10:
Performance was improved by replacing internal data structures with base .NET types, such asReadOnlyCollection<T>. This minimized allocations in UI automation and file dialogs, and speeding up pixel format conversions.
Enhanced performance by optimizing cache operations, array handling, and migrating font collection loader to managed code.
Performance was optimized across font rendering, dynamic resources, input composition, trace logging, regex usage, and XAML parsing.
Various bug fixes have been addressed in .NET 10, to improve the Fluent UI style support in WPF. Fluent UI style support is still in progress.
Fluent styles added more controls, such as:
Fixed the animation forExpander.
Fixed crashes related toHighContrast
.
Added missingRecognizesAccessKey for controls.
Right-to-left layout issues have been fixed forMenuItem,Expander,TreeViewItem.
Warning
.NET 10 Preview 4 introduced a bug related to fluent styles. For more information, see.NET 10 Preview 4 release notes.
WPF and Windows Forms now use the same clipboard API. Both desktop technologies unify how they interact with the clipboard.
.NET 9 obsoletedBinaryFormatter
, which is used in some clipboard operations. These clipboard operations required you to opt in to compatibility package, or work around the operation. To ease the pain of moving away fromBinaryFormatter
, .NET 10 is obsoleting certain clipboard methods to indicate that they shouldn't be used. More methods are being added to help JSON serialization with clipboard data, circumventing the need forBinaryFormatter
.
Addressed various bug fixes including UI element cursor types, crash issues when bitmap streams are null, build and test step errors, and minor bugs inBitmapMetadata and native dependencies.
Addressed localization issues forScrollViewer andContextMenu.
Over 4,000 unit tests forSystem.Xaml
andWindowsBase
added.
Enhanced performance by optimizing cache operations, array handling, and migrating font collection loader to managed code.
Moving out of .NET Framework left behind unused Code Access Security (CAS) related attributes and code. Many of these have been removed in the .NET codebase.
OleCmdHelper/ISecureCommand
.FontSourceCollection/FontSource
.Conducted extensive code cleanups, including syntax standardization and argument clarity, to improve code readability and maintainability. Debugging patterns were modernized and legacy constructs likeArrayList
were phased out for maintainability.
Community contributorbstordrup enhanced theMessageBox
with more button and result options. For more information, see#9613.
namespace System.Windows{ public enum MessageBoxButton { OK = 0, OKCancel = 1,+ AbortRetryIgnore = 2, YesNoCancel = 3, YesNo = 4,+ RetryCancel = 5,+ CancelTryContinue = 6, } public enum MessageBoxResult { None = 0, OK = 1, Cancel = 2,+ Abort = 3,+ Retry = 4,+ Ignore = 5, Yes = 6, No = 7,+ TryAgain = 10,+ Continue = 11, }}
Was this page helpful?
Was this page helpful?