Training
Module
Create a UI in a .NET MAUI app by using XAML - Training
Learn how to design a UI for a .NET MAUI app using XAML.
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 try signing in or changing directories.
Access to this page requires authorization. You can try changing 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 the release 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 as ReadOnlyCollection<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 for Expander.
Fixed crashes related to HighContrast
.
Added missing RecognizesAccessKey for controls.
Right-to-left layout issues have been fixed for MenuItem, 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 obsoleted BinaryFormatter
, 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 from BinaryFormatter
, .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 for BinaryFormatter
.
Addressed various bug fixes including UI element cursor types, crash issues when bitmap streams are null, build and test step errors, and minor bugs in BitmapMetadata and native dependencies.
Addressed localization issues for ScrollViewer and ContextMenu.
Over 4,000 unit tests for System.Xaml
and WindowsBase
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 like ArrayList
were phased out for maintainability.
Community contributor bstordrup enhanced the MessageBox
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,
}
}
.NET Desktop feedback feedback
.NET Desktop feedback is an open source project. Select a link to provide feedback:
Training
Module
Create a UI in a .NET MAUI app by using XAML - Training
Learn how to design a UI for a .NET MAUI app using XAML.