在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项目的,只能重新做。
但在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(); }效果如图: