winform 添加wpf 窗体怎么使用

Posted

tags:

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

在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();

效果如图:
参考技术A 我用下来,感觉有以下几个大区别:WPF的线程模型和winform的线程模型不同WPF到处用到数据绑定,winform在列表中才用的多WPF支持3D,winform本身没有,需要引入托管的DXWPF有现成的动画机制,winform没有WPF的界面可以用XAML写,后台逻辑用C#,winform全部C#。也就是WPF真正做到界面与逻辑分离。

以上是关于winform 添加wpf 窗体怎么使用的主要内容,如果未能解决你的问题,请参考以下文章

wpf中 我新开一个线程添加控件到主窗体

WPF C#怎么窗体间传值

wpf中 我新开一个线程添加控件到主窗体

wpf登录窗体跳转怎么做

WPF 程序中 怎么实现像WinForm中MDI容器的效果?例如:点击A菜单,相应的窗体显示在B中!

wpf 动态添加控件和使用