WPF is stable, not growing. Microsoft ships it with every .NET release, but investment is maintenance-grade. The pressure to reach new platforms, simplify deployment, and integrate with AI workflows is mounting.
Five frameworks offer a path forward: Uno Platform (6 platforms, closest XAML), .NET MAUI (mobile-first), Blazor Hybrid (web-first), WinUI 3 (Windows-only), and Electron (web-technology desktop).
The single largest factor in migration effort is not the number of XAML pages — it is the depth of Win32/COM interop.
Before diving into each framework, here are the criteria that matter most when a WPF team evaluates modernization targets:
How closely does the target XAML dialect match WPF? Can existing controls, styles, and templates transfer? Do MVVM patterns carry over?
Which OSes and form factors are supported? Is WebAssembly available? Is Linux desktop supported for enterprise workstations?
What percentage of business logic can be reused? How much UI requires rewriting? Are incremental paths available?
Does it support MCP for AI agent workflows? Can agents inspect a running app's visual tree? How does it integrate with Claude Code, Copilot, or Cursor?
Visual designer support? Third-party control libraries? Long-term support and funding outlook?
Uno Platform
The cross-platform, 6-platform solution with full AI tooling
Uno Platform implements the WinUI 3 / Windows App SDK API surface and extends it to six platforms from a single codebase. For WPF teams, this means the XAML dialect you migrate to is the closest available match — but it runs everywhere. The framework uses a Skia-based rendering engine for pixel-perfect consistency and provides AI-assisted development tools that no other framework in this list offers.
Platform Support
| Platform | Target Framework | Minimum Version |
|---|---|---|
| Windows | net10.0-desktop or net10.0-windows10.0.19041 | Windows 7+ (Skia) or Windows 10 (WinAppSDK) |
| macOS | net10.0-desktop | macOS 10.15+ |
| Linux | net10.0-desktop | X11 and Framebuffer |
| iOS | net10.0-ios | iOS 11+ |
| Android | net10.0-android | Android 5 (API 21)+ |
| WebAssembly | net10.0-browserwasm | Chrome, Edge, Firefox, Safari |
Key Strengths
System.Windows.Controls becomes Microsoft.UI.Xaml.Controls, core layout panels (Grid, StackPanel, Border) work the same way, and MVVM patterns carry over directly. Teams report that final application codebases share up to 99% of the same code as the original..csproj file builds for all six target platforms. One solution, one build pipeline, one set of NuGet references.AI Integration
This is where Uno Platform separates from every other framework on this list. The AI story is not a single feature but a full-stack agentic development workflow built from three interlocking components:
For WPF migration specifically, this means an AI agent can scan your WPF codebase for migration issues, check API compatibility against the Uno Platform MCP, generate migrated code, and then verify the result against the running application — all within a single workflow.
Honest Limitations
Choose Uno Platform when you need maximum platform coverage including production WebAssembly and Linux desktop, want the closest XAML compatibility path from WPF, or need AI-assisted development tooling. Ideal for .NET teams wanting a single codebase across all six major platforms with the least XAML rework.
Notable Apps: NPE, TradeZero, Kahua, Hug, Sentry
.NET MAUI
Microsoft's cross-platform mobile and desktop framework
.NET MAUI (Multi-platform App UI) is Microsoft's evolution of Xamarin.Forms and the official cross-platform framework in the .NET ecosystem. While it was not designed as a WPF migration target, teams already invested in .NET may consider it for new cross-platform projects or as a modernization destination.
Platform Support
| Platform | Supported Versions | Notes |
|---|---|---|
| Windows | Windows 10, 11 | Via WinUI 3 |
| macOS | macOS 10.15+ | Via Mac Catalyst (iOS-based) |
| iOS | iOS 13+ | Full support |
| Android | API 24+ | Full support |
| Linux | Not supported | No native support; no GA timeline |
| WebAssembly | Not supported | Not available |
Key Strengths
AI Integration
.NET MAUI's AI story is emerging but community-driven rather than first-party. The most notable tool is MauiDevFlow, an open-source project that enables agentic development workflows by embedding an agent inside a running MAUI app. It has been used as an AI skill for GitHub Copilot CLI, giving Copilot the ability to validate its own output against the running application.
However, MauiDevFlow is a community project, not an official Microsoft offering. There is no first-party MAUI MCP server that gives AI agents structured knowledge of MAUI's control set, migration patterns, or API surface. The gap between community tooling and a cohesive, framework-integrated AI workflow is real.
Honest Limitations
Choose .NET MAUI if your modernization is primarily about reaching iOS and Android mobile platforms, you are already invested in the Microsoft ecosystem, and you do not need Linux or browser-based deployment. Be prepared for a significant UI rewrite from WPF XAML.
Blazor Hybrid
The web-first modernization path
Blazor Hybrid takes a fundamentally different approach. Instead of migrating your XAML to another XAML framework, you rebuild your UI using web technologies (HTML, CSS, Razor components) while keeping your .NET business logic. Microsoft provides a BlazorWebView control that can be hosted directly inside an existing WPF application, enabling an incremental migration from XAML to web-rendered UI.
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Windows (WPF host) | Supported | BlazorWebView in WPF |
| Windows (MAUI host) | Supported | BlazorWebView in MAUI |
| macOS | Supported | Via MAUI Blazor Hybrid |
| iOS | Supported | Via MAUI Blazor Hybrid |
| Android | Supported | Via MAUI Blazor Hybrid |
| Browser | Supported | Pure web deployment |
| Linux | Limited | Via Electron or Photino wrappers |
Key Strengths
BlazorWebView control can be embedded inside an existing WPF application. You can migrate one page at a time from XAML to Razor, running old and new UI side by side. This is the most gradual migration path available.AI Integration
Blazor's AI tooling story is primarily third-party and component-vendor-driven. Telerik provides a Blazor MCP Server for their component library, and Syncfusion offers similar MCP Servers powering an "Agentic UI Builder" for Blazor.
These are valuable for teams using those specific component libraries, but they are vendor-specific, not framework-level. There is no official Blazor MCP server from Microsoft. Practitioners note that agent mode is not yet ready for production-level full-stack Blazor work — it works for component scaffolding but struggles with multi-layered complexity. There is no runtime inspection protocol.
Honest Limitations
Choose Blazor Hybrid if browser-based delivery is your primary goal, your team has existing web development skills, or you want the most gradual migration path (page by page inside your existing WPF shell). Best suited for organizations willing to invest in a complete UI rewrite in exchange for web-native deployment.
WinUI 3
Microsoft's Windows-only desktop modernization
WinUI 3 is Microsoft's modern native UI framework for Windows, shipped as part of the Windows App SDK. It uses XAML that is conceptually close to WPF, making it a natural upgrade for teams that plan to stay on Windows and do not need cross-platform delivery.
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Windows 10 | Supported | Version 1809+ required |
| Windows 11 | Supported | Full Fluent Design integration |
| macOS | Not supported | — |
| Linux | Not supported | — |
| iOS/Android | Not supported | — |
| WebAssembly | Not supported | — |
Key Strengths
System.Windows to Microsoft.UI.Xaml, but the programming model is familiar.AI Integration
WinUI 3 benefits from Microsoft's broader Windows AI investments rather than framework-specific tooling. Windows 11 is introducing native Model Context Protocol (MCP) support through the On-Device Agent Registry (ODR), which lets any Windows application register as an MCP server.
However, this is an OS-level capability, not a WinUI framework feature. There is no WinUI-specific MCP server. AI-assisted development relies on general-purpose tools: Visual Studio 2026's Copilot integration, XAML Hot Reload, and the Azure MCP Server for cloud workflows. An AI agent cannot inspect a running application's visual tree or validate UI behavior at runtime without custom instrumentation.
Honest Limitations
Choose WinUI 3 if your application will remain Windows-only, you want a Microsoft-supported path from WPF, and you do not need cross-platform delivery. Ideal for teams that want to modernize their Windows UI without changing their platform strategy.
Electron
The web-technology desktop framework
Electron takes the most radical departure from WPF. Built on Chromium and Node.js, it lets teams build desktop applications using HTML, CSS, and JavaScript or TypeScript. For WPF teams, this means abandoning .NET and XAML entirely — but gaining access to the largest developer ecosystem on the planet. Electron powers some of the most widely used desktop applications in the world, including VS Code, Slack, Discord, and Figma.
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Windows | Supported | Full native desktop |
| macOS | Supported | Full native desktop |
| Linux | Supported | Full native desktop |
| iOS/Android | Not supported | Desktop-only framework |
| WebAssembly | Not applicable | Web code can be deployed separately |
Key Strengths
AI Integration
Electron's AI story is shaped by its web foundation. A community-built Electron MCP Server exists for debugging and automation. On Windows 11, Electron apps can integrate with the On-Device Agent Registry.
Because Electron apps are fundamentally web applications, they benefit from the mature web AI ecosystem. GitHub Copilot, Cursor, and other assistants have extensive training data for HTML, CSS, JavaScript, and TypeScript — arguably more than for any XAML-based framework. However, there is no Electron-specific MCP server providing framework knowledge, and runtime inspection relies on Chrome DevTools Protocol.
Honest Limitations
Choose Electron if your team has JavaScript/TypeScript expertise, you want proven desktop cross-platform reach with the largest ecosystem, and you are willing to rebuild your UI from scratch. Consider Electron.NET if you want to keep C# on the backend.
Notable Apps: VS Code, Slack, Discord, Figma, Notion, Claude Desktop
| Criteria | Uno Platform | .NET MAUI | Blazor Hybrid | WinUI 3 | Electron |
|---|---|---|---|---|---|
| Language | C# | C# | C# + HTML/CSS | C# | JS/TS (or C# via Electron.NET) |
| XAML Dialect | WinUI XAML | MAUI XAML | Razor (no XAML) | WinUI XAML | HTML/CSS (no XAML) |
| Windows | Yes | Yes | Yes | Yes | Yes |
| macOS | Yes | Catalyst | Via MAUI | No | Yes |
| Linux | Yes | No | Third-party | No | Yes |
| iOS | Yes | Yes | Via MAUI | No | No |
| Android | Yes | Yes | Via MAUI | No | No |
| WebAssembly | Yes (all browsers) | No | Yes | No | N/A |
| Total Platforms | 6 | 4 | 5–6 (varies) | 1 | 3 (desktop only) |
| XAML Compat with WPF | High (namespace changes) | Low (different dialect) | None (full rewrite) | High (namespace changes) | None (full rewrite) |
| Business Logic Reuse | 95–99% | 90–95% | 90–95% | 95–99% | Low (unless Electron.NET) |
| Migration Effort | Moderate | High (UI rewrite) | High (full UI rewrite) | Moderate | Very High (full rewrite) |
| Incremental Path | Uno Islands | No | BlazorWebView in WPF | XAML Islands | No |
| Visual Designer | Hot Design | VS XAML Hot Reload | Browser DevTools | None (planned) | Browser DevTools |
| Framework MCP Server | Yes (Uno MCP + App MCP) | No (community) | No (vendor-specific) | No (OS-level) | No (community) |
| Runtime AI Inspection | Yes (App MCP) | Community (MauiDevFlow) | No | No | Chrome DevTools Protocol |
| AI Visual Designer | Yes (Hot Design Agent) | No | No | No | No |
| Rendering | Skia (pixel-perfect) | Platform-native | WebView2 | Native Windows | Chromium |
| Cost | Free (Apache 2.0) | Free | Free | Free | Free (MIT) |
System.Windows to Microsoft.UI.Xaml), some control API variations, and additions like x:Bind for compiled bindings. Controls that require more work are typically those relying on WPF-specific features like XPS documents, certain rich text capabilities, or deep Win32 hosting.
Subscribe to Our Blog
Subscribe via RSS
Back to Top