在VS 2010中选择“添加新项”时,是否可以从winforms项目中访问所有WPF项?默认情况下,我只能访问WPF用户控件。
我想在winforms项目中添加一个WPF窗口,而不仅仅是一个用户控件。
编辑:简短回答:似乎本身不可能这样做,但可以手动添加WPF资源和必要的引用。
在VS 2010中选择“添加新项”时,是否可以从winforms项目中访问所有WPF项?默认情况下,我只能访问WPF用户控件。
我想在winforms项目中添加一个WPF窗口,而不仅仅是一个用户控件。
编辑:简短回答:似乎本身不可能这样做,但可以手动添加WPF资源和必要的引用。
显然你不能直接这样做,但你可以添加一个新的用户控件,然后修改代码使它成为一个窗口。只需创建一个新的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
这是可能的,我已经使用这种技术几次而没有任何问题:
在同一个项目中可以同时使用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