在 VS 2010 的 Winforms 项目中添加 WPF 窗口

问题描述 投票:0回答:5

在 VS 2010 中选择“添加新项目”时是否可以访问 winforms 项目中的所有 WPF 项目?默认情况下我只能访问 WPF userControl。

我想将 WPF 窗口添加到 winforms 项目中。不仅仅是用户控件。

编辑:简短回答:这似乎不可能本身,但可以手动添加WPF资源和必要的引用。

c# wpf winforms visual-studio-2010
5个回答
9
投票

在我看来,“最干净”的选项是使用这个方案:

  1. 创建一个 WPF 项目(添加您需要的任何 WPF 窗口)。我们称之为 “WPF项目”
  2. 在同一解决方案中创建一个 WinForms 项目(添加您想要的任何表单) 需要)。我们称之为“MainProject”。
  3. 在 MainProject 中添加对以下内容的引用:

    • WPF项目
    • 演示核心
    • 演示框架

就是这样,现在您可以从 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

8
投票

显然你不能直接这样做,但你可以做的是添加一个新的用户控件,然后修改代码使其成为一个窗口。只需创建一个新的 WPF 项目,添加一个窗口,然后查看需要更改哪些内容才能将用户控件变成窗口。


3
投票

这是可以做到的,我不得不使用这种技术几次,没有任何问题:

如何以编程方式在 WinForm 应用程序中创建 WPF 窗口


1
投票

可以在同一个项目中使用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-GUIDshttp://www.mobilemotion.eu/?p= 1537


0
投票

如果您使用.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

© www.soinside.com 2019 - 2024. All rights reserved.