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 · WWC 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 · WWC 2025

2:59 min

Adopting the .NET isolated worker model for functions

Stas Lebedenko Stas Lebedenko · WWC Europe 2026

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

From Legacy to Longevity – How a 17-Year-Old System stayed Modern

Alexander Arians

Empowering Engineers to drive innovation

Alexander Arians
Open session

World Congress 2026 North America

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

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

Merging at Scale: From Broken Builds to Green Mainline

Preetam Dwivedi, Manjari Akella

Preetam Dwivedi
Manjari Akella
Open session

World Congress 2026 North America

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

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Paweł Matynia, Bartosz Leczycki

Paweł Matynia
Bartosz Leczycki