Can I use WPF inside a Winforms app.?

I think I once heard that I could add a WPF form to an existing Winforms app.

True?

If so, any tricks?

Thanks,
newieweb
newbiewebSr. Software EngineerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

bkokxCommented:
Hi newbieweb,

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

http://www.switchonthecode.com/tutorials/wpf-tutorial-using-wpf-in-winforms
http://www.codegod.de/webappcodegod/embedding-wpf-usercontrol-in-winforms-AID422.aspx

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
newbiewebSr. Software EngineerAuthor Commented:
This demo seems to have the right stuff for me to integrate a WPF User Control onto Winforms.


http://www.switchonthecode.com/tutorials/wpf-tutorial-using-wpf-in-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=4.0.0.0, 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=4.0.0.0, 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


Suggestions?
0
Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

newbiewebSr. Software EngineerAuthor Commented:
OK, I fixed that by ading a reference to System.Xaml.

How do I get the user control into the ElementHost?
0
newbiewebSr. Software EngineerAuthor Commented:
Got it!

0
newbiewebSr. Software EngineerAuthor Commented:
Thanks.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.