将csproj文件从winform转换为wpf

我有一个Winform应用程序,有一个非常简单的forms,program.cs主文件和大约60个后端.cs文件。 我想将项目转换为WPF应用程序。 看这里没有显示任何接近我想做的事情。

我需要

  • 转换csproj文件,这样我就可以添加WPF窗口了
  • 转换要“就地”完成,以保持我的源代码控制整洁,避免将所有后端文件添加回适当文件夹的麻烦,添加对外部依赖项的引用等。
  • 创建一个空的mainwindow.xaml(+ .cs)文件,我将手动填充相应的控件。

然后,我将在视图和viewmodel文件之间手动拆分旧表单文件的内容。

有什么方法比从头开始更容易?

编辑:我宁愿不将新的WPF ui托管到旧的winforms shell中,而是用wpf替换当前的表单应用程序。

编辑2:我不想将整个项目和架构转换为WPF(因为它被问及在SO上多次回答),我完全理解这些是2个不同的框架,我完全愿意手动进行更改。 我想转换csproj所以它将编译为WPF应用程序而不是Forms应用程序。

从您的edit2看来,您只想将项目类型从“Winforms”更改为“WPF”而不更改任何项目项。 我不知道你为什么要这样做,但尝试创建一个空的Winforms项目,然后创建一个空的WPF项目,然后比较两个项目文件。

无论两个空项目之间有什么区别,都要对现有的Winforms项目进行更改。

对于那些不想进行比较的人来说,简短的答案是WPF .csproj文件包含一个附加属性:

{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 

只需将其放在第一个...部分中,它应该无关紧要。

{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}是这是一个WPF项目, {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}表示一个C#项目。 您可以从此SO问题中了解有关项目类型指南的更多信息。