C#WinForm项目怎么转变成WPF项目?

2024-11-30 23:01:56
推荐回答(3个)
回答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();            
       }
效果如图:

回答2:

你想直接转变貌似比较难,其实后台代码都是c#,把框架重新做下就可以了,代码可以直接粘贴过去。

回答3:

在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();                    }效果如图: