2013-05-12 60 views
1

我正在使用Visual Studio 2012我使用的Win Form應用程序稱爲Form1 &添加一個新的項目,這是wpf窗口被稱爲「wpfWin」。我想通過Form1中的一個按鈕打開wpfWin,一旦它被點擊,它就會打開 - 分開的窗口。從WinForms&WPF應用程序的鏈接窗體應用程序打開WPF窗口

我試過weblogs.asp但我沒有找到「WPF自定義控制庫」&一旦我跳過它,出現錯誤。有沒有其他的方法?

另外,如何鏈接WinForm中的兩個應用程序&其他Wpf?!

+0

所以你想要兩個完全獨立的窗口?或Win窗體窗口上的WPF控件? – Nomad101 2013-05-12 19:50:12

+0

單獨的窗口,編輯 – Sarah 2013-05-12 19:50:59

回答

12

Open WPF window in WindowsForm APP所以你有問題與上面的鏈接教程和問題? 「WPF自定義控件庫」是您想要在Win-Forms應用程序中使用的WPF窗口。

只是簡單的解釋,因爲它通過問題和教程進行了幾次解釋。您將希望打開您當前正在進行的雙贏項目。然後,您需要轉到解決方案資源管理器並右鍵單擊解決方案,而不是項目,然後轉到「添加」並選擇「新建項目」。

在添加新項目中,轉到Visual C#,然後在左側的樹中選擇Windows。它們應該位於已安裝的子菜單中。在主要部分中,您應該看到「WPF自定義控件庫」,點擊它,然後將其命名爲您想要的內容,然後單擊確定。

爲項目添加一個窗口(WPF)控件,該窗口將是您想要打開的WPF窗口。

然後從WinForm的,打開它就像這樣:

var wpfwindow = new WPFWindow.Window1(); 
ElementHost.EnableModelessKeyboardInterop(wpfwindow); 
wpfwindow.Show(); 

但是確保你有以下using語句:

using System; //Given 
using System.Windows.Forms; //Given 
using System.Windows.Forms.Integration; //Not so Given. 

您將需要添加一些引用內容以及使這項工作正確的,這裏是所有你需要添加到win-forms的列表:

PresentationCore 
PresentationFramework 
WindowsFormsIntegration 
WindowsBase 
System.Xaml 
YourWpfControlProjectName 

You shou ld通過在解決方案資源管理器中右鍵單擊參考文件夾並添加新的引用,使用VS中的參考選擇器將這些添加到您的Win-forms項目中。所有的引用都位於Framework選項卡中,它不包含您在解決方案選項卡中的WPF控件。

+1

假設我命名「WPF自定義控件庫」Pan&我在Pan中添加一個新的wpf窗口,稱爲wind;所以代碼會是> var wpfwindow = new Pan.wind(); ?! – Sarah 2013-05-12 20:28:37

+1

是的。如果您遇到未定義的問題,請檢查您的參考。 – Nomad101 2013-05-12 20:35:43

+1

它不起作用,我應該將wpf引用添加到winApp?! – Sarah 2013-05-12 20:42:11

0

嘗試在您的項目中引用windowbase.dll。還要確保「複製本地」屬性設置爲true。

相關問題