Build modern Windows desktop apps with .NET Core
GitHub RepoImpressions1.5k

Build modern Windows desktop apps with .NET Core

@githubprojectsPost Author

Project Description

View on GitHub

Building Modern Windows Apps with .NET Core and WPF

For years, building a Windows desktop application meant being tied to the full .NET Framework. If you wanted the latest performance improvements, side-by-side deployment, or containerization that .NET Core offered, you were out of luck for traditional WPF or Windows Forms apps. That wall has officially come down.

The open-source Windows Presentation Foundation (WPF) repo on GitHub represents a major shift. It’s the framework you know, now modernized and running on top of .NET Core (and its successors, like .NET 5+). This means you can bring your existing WPF UI code forward and finally leverage all the benefits of the modern .NET ecosystem.

What It Does

In short, this project is WPF, re-platformed. It takes the powerful, XAML-based UI framework used for building visually stunning Windows desktop applications and makes it a first-class citizen on .NET Core. It’s not a rewrite; it’s the same WPF engine and APIs, now built on the modern, cross-platform .NET runtime. This allows you to update your project files, retarget your application, and keep your core UI code largely intact.

Why It’s Cool

The "cool" factor here is all about unlocking potential without a painful rewrite.

  • Leverage Modern .NET: Get the performance boosts, smaller deployment footprints (via self-contained deployments), and the faster release cadence of .NET.
  • Side-by-Side Execution: Run multiple versions of your app on the same machine without conflicts, a classic .NET Core benefit.
  • Containerization: You can now containerize your WPF apps, which is a huge win for testing and deployment consistency, especially in enterprise environments.
  • Open Source & Transparent: The entire WPF framework is developed in the open on GitHub. You can file issues, see the roadmap, and even contribute fixes.
  • Incremental Modernization: Have a massive, legacy WPF codebase? You can move it to .NET Core piece by piece, mixing in new .NET Core libraries while the UI layer transitions.

It’s the bridge that lets your desktop apps stop living in the past and start taking advantage of the last decade of .NET innovation.

How to Try It

The best way to start is by migrating an existing WPF application or creating a new one. You’ll need the .NET SDK (version 5 or later) installed.

  1. For a New Project: Use the command line or Visual Studio 2022.

    dotnet new wpf -n MyModernWpfApp
    cd MyModernWpfApp
    dotnet run
    
  2. To Migrate an Existing App: The process is detailed in the official Microsoft migration guide. The core steps involve updating your project file to the SDK-style format and changing the target framework. It’s recommended to start with a copy of your project. The WPF GitHub repository is the central hub for the code, issues, and discussions that can help guide you through any snags.

Final Thoughts

This isn’t about making Wapps; it’s about giving existing Windows desktop applications a new lease on life. If you maintain a WPF app that feels stuck, moving it to modern .NET might be the single most impactful update you can do. It reduces friction for deployment, opens up new tooling, and future-proofs your codebase. It feels less like learning a new trick and more like someone finally gave your old, reliable tool a much-needed upgrade.

Check out the repo, scan the issues and discussions, and consider giving that legacy app in the corner a modern heart.


Follow us for more cool projects: @githubprojects

Back to Projects
Project ID: 29fc40e3-b162-4461-b7b6-32c0998e402aLast updated: December 30, 2025 at 12:56 PM