Can I use WPF inside a Winforms app.?

Posted on 2010-08-13
Last Modified: 2013-12-17
I think I once heard that I could add a WPF form to an existing Winforms app.


If so, any tricks?

Question by:newbieweb
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4

Accepted Solution

bkokx earned 350 total points
ID: 33435256
Hi newbieweb,

This is possible using ElementHost control and custom WPF UserControls :
There are many examples such as:

LVL 18

Assisted Solution

by:Anil Golamari
Anil Golamari earned 150 total points
ID: 33435773

Author Comment

ID: 33435866
This demo seems to have the right stuff for me to integrate a WPF User Control onto Winforms.

BUT, it says I must compile the control beforfe I can add it to the form.  However I can not compile it due to the following two compile time errors:

Error      1      The type 'System.Windows.Markup.IQueryAmbient' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Xaml, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089'.      C:\Dri\Internal\PPMarket\branches\Dri\trunk\DispatchSupportWPFControl.xaml.cs      20      26      DMS

Error      2      The type name 'IComponentConnector' could not be found in the namespace 'System.Windows.Markup'. This type has been forwarded to assembly 'System.Xaml, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089' Consider adding a reference to that assembly.      C:\Dri\Internal\PPMarket\branches\Dri\trunk\obj\Debug\DispatchSupportWPFControl.g.cs      42      113      DMS

Is Your DevOps Pipeline Leaking?

Is your CI/CD pipeline a hodge-podge of randomly connected tools? You’ve likely got a tool to fix one problem & then a different tool to fix another, resulting in a cluster of tools with overlapping functionality. Learn how to optimize your pipeline with Gartner's recommendations


Author Comment

ID: 33435873
OK, I fixed that by ading a reference to System.Xaml.

How do I get the user control into the ElementHost?

Author Comment

ID: 33435883
Got it!


Author Closing Comment

ID: 33435886

Featured Post

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA.…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor ( Top Charts is a view in which you can set seve…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question