簡體   English   中英

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

[英]Add WPF Window in a Winforms Project in VS 2010

在 VS 2010 中選擇“添加新項目”時,是否可以從 winforms 項目訪問所有 WPF 項目? 默認情況下,我只能訪問 WPF userControl。

我想將 WPF 窗口添加到 winforms 項目。 不僅僅是用戶控件。

編輯:答案很簡單:這似乎並不成為可能本身,但可以手動添加WPF資源和必要的參考。

顯然你不能直接,但你可以做的是添加一個新的用戶控件,然后修改代碼使其成為一個窗口。 只需創建一個新的 WPF 項目,添加一個窗口,然后查看您需要更改哪些內容才能將您的用戶控件變成一個窗口。

在我看來,“最干凈”的選項是使用這個方案:

  1. 創建一個 WPF 項目(添加您需要的任何 WPF 窗口)。 讓我們稱之為“WPFProject”
  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

有可能做到這一點,我不得不多次使用這種技術而沒有任何問題:

如何在 WinForm 應用程序中以編程方式創建 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-GUIDshttp://www.mobilemotion.eu/?p=1537

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM