Skip to content
WPF is a .NET Core UI framework for building Windows desktop applications.
C# C++ C Smalltalk Roff PowerShell Other
Branch: master
Clone or download
diverdan92 and vatsan-madhavan Updating issue and feature request templates (#1692)
* Update

Updating the issue report template to point folks to Visual Studio report-a-problem to hopefully reduce bug transfer requirements.

* Update
Latest commit bed43de Aug 23, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Updating issue and feature request templates (#1692) Aug 23, 2019
Documentation Convert C# Reference Assembly Generation to Use GenAPI (#1057) Jun 24, 2019
eng Updating branding for .NET 5 (#1665) Aug 20, 2019
packaging Fix issue with VB wpflib templates referencing C# file extensions Aug 15, 2019
src making small fixes for sdl violations (#1703) Aug 22, 2019
.editorconfig Add extension assemblies to WPF solution (#795) May 30, 2019
.gitignore Inject Module Constructor into PCore (#741) May 29, 2019 first commit Nov 7, 2018
Directory.Build.props Add WindowsBase, PresentationCore, PresentationFramework (+more) sour… May 22, 2019
Directory.Build.targets Onboarding new build infrastructure (#473) Mar 28, 2019
LICENSE.TXT first commit Nov 7, 2018
Microsoft.Dotnet.Wpf.sln Open Sourcing more WPF assemblies (#1576) Aug 9, 2019
NuGet.config Update dependencies from… Jun 27, 2019 Update VS2019 Preview link in Mar 9, 2019
Restore.cmd Onboarding new build infrastructure (#473) Mar 28, 2019
azure-pipelines.yml noci Aug 21, 2019
build.cmd Cleanup docs and scripts from Arcade (#31) Dec 3, 2018 Make executable (#519) Apr 9, 2019
global.json [master] Update dependencies from dotnet/arcade (#1664) Aug 19, 2019 Update Aug 13, 2019
test.cmd Cleanup docs and scripts from Arcade (#31) Dec 3, 2018

Windows Presentation Foundation (WPF)

Build Status MIT License

Windows Presentation Foundation (WPF) is a UI framework for building Windows desktop applications. WPF supports a broad set of application development features, including an application model, resources, controls, graphics, layout, data binding and documents. WPF uses the Extensible Application Markup Language (XAML) to provide a declarative model for application programming.

WPF applications are based on a vector graphics architecture. This enables applications to look great on high DPI monitors, as they can be infinitely scaled. WPF also includes a flexible hosting model, which makes it straightforward to host a video in a button, for example. The visual designer provided in Visual Studio makes it easy to build WPF application, with drag-in-drop and/or direct editing of XAML markup.

Note: The WPF visual designer is not yet available and will be part of a Visual Studio 2019 update.

See the WPF Roadmap to learn about project priorities, status and ship dates.

WinForms is another UI framework for building Windows desktop applications that is supported on .NET Core. WPF and WinForms applications only run on Windows. They are part of the Microsoft.NET.Sdk.WindowsDesktop SDK. You are recommended to use Visual Studio 2019 Preview to use WPF and WinForms with .NET Core.

Getting started


We are in the process of doing four projects with WPF:

  • Port WPF to .NET Core.
  • Publish source to GitHub.
  • Publish (and in some cases write) tests to GitHub and enable automated testing infrastructure.
  • Enable the Visual Studio WPF designer to work with WPF running on .NET Core.

We are part-away through porting WPF to .NET Core, and will complete that for .NET Core 3.0. We intend to bring the codebase up to functionality and performance parity with .NET Framework.

We have published only a small part of the WPF source. We will continue to publish WPF components as part of the .NET Core 3 project. We will publish source and tests at the same time for each component.

See the WPF roadmap to learn about the schedule for specific WPF components.

We have published very few tests and have very limited coverage for PRs at this time as a result. We will add more tests in 2019, however, it will be a progressive process. We welcome test contributions to increase coverage and help us validate PRs more easily.

The Visual Studio WPF designer is not yet available. In short, we need to move to an out-of-proc model (relative to Visual Studio) with the designer. This work will be part of Visual Studio 2019.

How to Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, join in design conversations, and fix issues.

.NET Framework issues

Issues with .NET Framework, including WPF, should be filed on VS developer community, or Product Support. They should not be filed on this repo.

Relationship to .NET Framework

This code base is a fork of the WPF code in the .NET Framework. We intend to release .NET Core 3.0 with WPF having parity with the .NET Framework version. Over time, the two implementations may diverge.

The Update on .NET Core 3.0 and .NET Framework 4.8 provides a good description of the forward-looking differences between .NET Core and .NET Framework.

Code of Conduct

This project uses the .NET Foundation Code of Conduct to define expected conduct in our community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer at

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Also see info about related Microsoft .NET Core and ASP.NET Core Bug Bounty Program.


.NET Core (including the WPF repo) is licensed under the MIT license.

.NET Foundation

.NET Core WPF is a .NET Foundation project.

See the .NET home repo to find other .NET-related projects.

You can’t perform that action at this time.