winform 添加wpf 窗体怎么使用

winform 添加wpf 窗体怎么使用,第1张

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

}

效果如图:

直接写代码就可以了啊:

using System.Windows

Window window=new Window()

window.Show()

希望对你有帮助,还有疑问请追问或是Hi

你的意思是在主窗体的不同的区域加载子窗体吧!

这个我建议你用prism框架。这个框架可以轻松的实现你想要的这个功能。

他的大致原理是:主窗体就是一个Shell(就理解成一个容器吧),在shell想要的位置设置若干的Region(这个相当于asp.net中母版页占位符的作用)。在你启动主窗体的时候,其他的子窗体可以直接加载到你的region处,或者你按你的需要(比如点击主窗体上的一个button)再随时加载。

Shell就是你以前的wpf的<window>窗口,而子窗体就得用usercontrol控件。

prism你可以在http://compositewpf.codeplex.com/下载,解压后里面有很多的例子。

prism框架的使用就是简单的将它封装好了的dll引用进去就可以了

不明白的话可以再问我 我自己有个比较简单的例子


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11664704.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存