2011-12-16 83 views
11

在VS 2010中選擇「添加新項目」時,是否可以訪問winforms項目中的所有WPF項目?我只默認訪問WPF userControl。

我想添加一個WPF窗口到一個winforms項目。不只是一個用戶控件。在VS 2010中的Winforms項目中添加WPF窗口

編輯:簡短的回答:這似乎並不可能本身,但也可以手動添加WPF資源和必要的參考。

+1

檢查這個http://stackoverflow.com/questions/450377/upgrading-a-winforms-app-to-wpf – Atomosk 2012-08-29 03:54:33

回答

6

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

+0

我認爲這樣做,但我希望它不是很簡單,有點發拉,所以我甚至沒有嘗試:-)我會給它一個 – 2011-12-16 12:37:00

+0

好,第一步是用XAML中的Window標籤替換UserControl標籤,並使類擴展Window。然後看看還有什麼。 – Tudor 2011-12-16 12:39:13

+0

這可能是最好的解決方案,並在此逐步解釋:http://www.i-think22.net/archives/2008/08/05/adding-wpf-windows-to-an-existing-windows-form -project/ – surfen 2011-12-17 15:28:05

4

在我看來,「最乾淨」的選項使用此方案:

  1. 創建一個WPF項目(添加您需要的任何WPF窗口)。讓我們稱之爲 「WPFProject」
  2. 在相同的解決方案中創建一個WinForms項目(添加任何需要的表格) 。讓我們稱之爲「MainProject」。
  3. 在MainProject添加引用:

    • WPFProject
    • PresentationCore
    • PresentationFramework

那一切,現在你可以從你的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