在 VS 2010 中选择“添加新项目”时是否可以访问 winforms 项目中的所有 WPF 项目?默认情况下我只能访问 WPF userControl。
我想将 WPF 窗口添加到 winforms 项目中。不仅仅是用户控件。
编辑:简短回答:这似乎不可能本身,但可以手动添加WPF资源和必要的引用。
在我看来,“最干净”的选项是使用这个方案:
在 MainProject 中添加对以下内容的引用:
就是这样,现在您可以从 MainProject 打开 WPF 窗口(例如,通过按按钮):
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim mywpfform = New WPFProject.MainWindow //MainWindow is the default name of your first WPF window. Obviously you can open any other
mywpfform .Show()
End Sub
显然你不能直接这样做,但你可以做的是添加一个新的用户控件,然后修改代码使其成为一个窗口。只需创建一个新的 WPF 项目,添加一个窗口,然后查看需要更改哪些内容才能将用户控件变成窗口。
这是可以做到的,我不得不使用这种技术几次,没有任何问题:
可以在同一个项目中使用WinForms和WPF。可以修改 WinForm 项目,以便添加 WPF 窗口和其他 WPF 元素。为此,您必须将 WPF 项目 GUID 添加到 WinForms 项目的清单文件中。
打开项目清单文件(扩展名为 .csproj 的文件)并修改 PropertyGroup 节点(不带 Condition 元素的文件),如下所示:
<PropertyGroup>
<ProjectTypeGuids>
{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
</ProjectTypeGuids>
</PropertyGroup>
修改完后重启VS。现在您可以添加 WPF 窗口或其他 WPF 元素。您可能还需要添加引用 System.Xaml、PresentationCore 和PresentationFramework。
有关更多信息,请检查:https://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs 和 http://www.mobilemotion.eu/?p= 1537
如果您使用.Net
您可以在应用程序属性中执行此操作
右键单击项目 > 属性 > 常规 > 选中“Windows Presentation Foundation”
或者编辑.csproj文件
添加以下行
<UseWPF>true</UseWPF>
进入
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
</PropertyGroup>
</Project>
了解更多: https://learn.microsoft.com/zh-tw/dotnet/core/project-sdk/msbuild-props-desktop