C#winform中调用wpf

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#winform中调用wpf相关的知识,希望对你有一定的参考价值。

原文:C#winform中调用wpf

在WinForm中是可以使用WPF中的控件(或者由WPF创建的自定义控件)

1.新建一个winform项目;

2.在解决方案上新建一个wpf项目;

如图:

技术图片

如果有如下错误,就在winform中的引用添加System.xaml的引用即可:

 

错误 1 类型“System.Windows.Markup.IComponentConnector”在未被引用的程序集中定义。必须添加对程序集“System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

在winform中添加WPF项目下引用的三个程序集:PresentationCore,PrentationFramework,WindowsBase,以及wpf项目WpfApplication1的引用,如图:

技术图片

在winform的Form1窗体的cs代码中添加using WpfApplication1的引用:

技术图片

在winform中添加的button按钮的Click事件中New一下Wpf的窗体show出来即可显示:

 

  private void button1_Click(object sender, EventArgs e)
        {
            WpfApplication1.MainWindow wpfwindow = new WpfApplication1.MainWindow();
            wpfwindow.ShowDialog();            
        }

效果如图:

技术图片

 

 

 

以上是关于C#winform中调用wpf的主要内容,如果未能解决你的问题,请参考以下文章

wpf中调用winform用户控件的方法

C#winform调用外部自己写的一个控制台程序,每次都是一闪而过,根本不执行代码。控制台args[0]是传入参数

C#-winform里的~MainForm()是啥用的?

winform的窗体控件可以用线程直接调用吗

请问如何在c#中用WPF调用Winform变写的用户控件,知道的请给予解说,谢谢!

有关C#winform的调用外部程序的问题