我有一个 Winform 应用程序,它有一个非常简单的表单、一个 program.cs 主文件和大约 60 个后端 .cs 文件。我想将项目转换为 WPF 应用程序。寻找 here没有显示任何接近我想做的事情。
我需要
- 转换 csproj 文件,以便我可以添加 WPF 窗口
- 该转换将“就地”完成,以保持我的源代码管理整洁,避免将所有后端文件添加回其正确文件夹中的麻烦,添加对外部依赖项的引用等。
- 创建一个空的 mainwindow.xaml (+.cs) 文件,我将手动填充适当的控件。
然后,我将在 View 和 View 模型文件之间手动拆分旧表单文件的内容。
有什么方法比从头开始更容易做到这一点?
编辑:我宁愿不将新的 WPF ui 托管到旧的 winforms shell 中,而是将当前的表单应用程序替换为 wpf 应用程序。
EDIT2:我不想将整个项目和架构转换为 WPF(因为在 SO 上多次被询问和回答),我完全理解这是 2 个不同的框架,我我完全愿意手动进行更改。我想转换 csproj 以便它将编译为 WPF 应用程序而不是 Forms 应用程序。
最佳答案
对于那些不想自己进行比较的人来说,简短的回答是 WPF .csproj 文件包含一个附加属性:
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
把它放在第一个<PropertyGroup>...</PropertyGroup>
部分,在哪里都无关紧要。
{60dc8134-eba5-43b8-bcc9-bb4bc16c2548}
的含义这是一个 WPF 项目,{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
表示 C# 项目。您可以从此 SO question 了解有关项目类型 guid 的更多信息.
关于c# - 将 csproj 文件从 winform 转换为 wpf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24001202/