This document describes the experience of using WPF on .NET Core. The Developer Guide describes how to develop features and fixes for WPF.
Choose one of these options:
- .NET Core 3.0 SDK Preview 1 (recommended)
- .NET Core 3.0 daily build (latest changes, but less stable)
You can create a new WPF application with dotnet new
command, using the new templates for WPF.
In your favorite console run:
dotnet new wpf -o MyWPFApp
cd MyWPFApp
dotnet run
Check out the WPF for .NET Core 3 samples for HelloWorld example. The existing WPF for .NET Framework samples have also been updated to dual-target .NET Framework and .NET Core 3.
For WPF API documentation, see the .NET API Browser.
For conceptual documentation (architecture, how-tos, etc.) most of the documentation for WPF for .NET Framework applies equally well to WPF for .NET Core 3. The main differences are around project structure and lack of Designer support.
- WPF Applications crash with
System.TypeLoadException
when the Visual C++ Redistributable for Visual Studio 2017 is not installed. The latest version of VC++ redistributable can be obtained from the Visual C++ downloads page. This dependency will be removed prior to .NET Core 3.0 final release.- This is tracked by #37.
- In this initial preview, WPF for .NET Core doesn't support the XAML Designer. If you want to use the XAML Designer, you will need to do that in the context of a .NET Framework project, e.g. by linking your .NET Core source files into a .NET Framework project.
- You can see examples of how to do this in the WPF Samples repo.
- XAML Browser applications (XBAPs) are not supported for .NET Core 3.
- Not all .NET Framework features are supported for .NET Core 3. You can use the .NET API Portability Analyzer to see if your existing code can run on .NET Core 3.
A full list of supported / unsupported features will be available in a future update.