World Congress 2026 Europe - Virtual Stage Jul 2, 2026 Session details

WinForms Meets WPF: The Hybrid Path to Modern Desktop Applications

Peter Dannenberg

Stuck maintaining massive WinForms applications? Discover how a hybrid WPF shell lets you modernize legacy UI step-by-step without halting feature development or triggering memory leaks.

Pause
Mute Enter Fullscreen
#1 about 4 min

The ongoing relevance of WinForms applications

Why traditional desktop applications remain prevalent despite the push toward modern user interfaces.

#2 about 3 min

Adopting a hybrid migration path for complex applications

Using a step-by-step transformation instead of a complete rewrite to maintain regulatory compliance and save time.

#3 about 2 min

Threading and airspace challenges in hybrid UI

Managing the shift between single-thread UI loops and dispatcher event queues while avoiding rendering overlaps.

#4 about 2 min

Utilizing a WPF shell to host WinForms content

Creating a modern parent window capable of gradually integrating older components without modifying the underlying logic.

#5 about 4 min

Reviewing a standard multiple document interface application

Analyzing a legacy business tool that relies on third-party controls and custom user workflows.

#6 about 4 min

Building the main window and dependency injection setup

Setting up the modern project structure with custom inversion of control containers and initial dashboard views.

#7 about 6 min

Bridging different UI technologies with a hosting container

How the host process connects native window handles and resolves boundary issues between competing framework threads.

#8 about 5 min

Writing a reliable container to prevent memory leaks

Configuring the host instance to correctly bind native handles and suppress duplicate disposal calls.

#9 about 5 min

Adjusting display settings and window creation properties

Creating a centralized manager that transfers size, position, and border styles from old components into the modern container.

#10 about 3 min

Decoupling legacy systems via an isolated bridge library

Implementing a connector class that allows modern code to invoke older features without direct dependencies.

#11 about 4 min

Testing functional application modules in a hybrid environment

Verifying that data grids, filters, and standalone management forms behave correctly within the new user interface.

#12 about 2 min

Restoring native tab and keyboard event behaviors

Implementing an input sink interface to pass key presses cleanly across the boundary into older active controls.

#13 about 6 min

Synchronizing modal results with proper message loops

Ensuring that modal closures register correctly by listening for native closed events inside the hosting container.

Matching moments

3:40 min

Implementing the strangler pattern for legacy code migration

Don Schenck Don Schenck · World Congress 2024

39 sec

Reevaluating common performance criticisms surrounding web application wrappers

Chris Heilmann +2 · LIVE

1:19 min

Running Blazor inside hybrid desktop application web views

Christian Giesswein Christian Giesswein · World Congress 2025

2:59 min

Adopting the .NET isolated worker model for functions

Stas Lebedenko Stas Lebedenko · World Congress 2026 Europe

2:15 min

Transitioning native desktop graphics implementations to the web

Chris Heilmann +3 · LIVE

1:47 min

Technical differences between hybrid and cross-platform frameworks

Sasha Denisov Sasha Denisov

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 25, 2026 · 09:40–10:10

Stage 3

Still on 4.8 or lower? A Practical Guide to Moving Your "Un-Migratable" .NET Apps

Isaac Levin

Developer Advocate

Isaac Levin
Open session

World Congress 2026 North America

September 24, 2026 · 12:50–13:20

Stage 7

Architecting AI in Angular: WebMCP, A2UI, and the Agent Experience

Ankita Sood

Sr. Principal Engineer @ Secureworks | Angular GDE

Ankita Sood
Open session

World Congress 2026 North America

September 24, 2026 · 14:50–15:20

Stage 9

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

September 24, 2026 · 16:50–17:20

Stage 3

Merging at Scale: From Broken Builds to Green Mainline

Manjari Akella, Preetam Dwivedi

Manjari Akella
Preetam Dwivedi
Open session

World Congress 2026 North America

September 25, 2026 · 15:30–15:40

Outdoor Stage

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

September 25, 2026 · 14:10–14:40

Stage 7

Why Your iOS App Feels Broken After an Hour: Diagnosing Long-Session Performance on Real Devices

Vasuki Uday Kiran Vudathala

Staff Performance Engineer at ServiceNow

Vasuki Uday Kiran Vudathala