WinForm中調用WPF控件


WinForm中調用WPF控件

 

在WinForm中可以使用WPF中的控件,或者由WPF創建的自定義控件;

步驟1:創建WinForm工程;

步驟2:在WinForm工程的解決方案資源管理器中,在剛剛創建的WinForm解決方案中新建或者添加現有的WPF用戶控件工程;

步驟3:在WPF中創建自定義的控件,或者添加WPF控件到面板上;

步驟4:在WinForm面板上添加ElementHost控件(工具箱中);

步驟5:生成解決方案;

步驟6:在剛剛的ElementHost中的Child屬性中添加剛剛的WPF生成的控件;

步驟7:完成。

如果在ElementHost的Child屬性中添加了WPF生成的控件,編譯的時候出現如下錯誤:

錯誤 1 類型“System.Windows.Markup.IComponentConnector”在未被引用的程序集中定義。必須添加對程序集“System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。 

則要在WinForm中解決方案-> 添加引用->System.Xaml,類似的錯誤,就添加相應的引用。

如何在winform中調用WPF用戶控件里面的屬性和方法呢,如圖:

WinForm工程為test,WPF用戶控件工程為WpfControlLibrary1。

假設我們的WpfControlLibrary1中有個方法叫wpf_fun();如果我們要在test中調用的話,則需要把WPF的控件添加到WinForm中的ElementHost中,然后再需要調用的地方寫上((WpfControlLibrary1.MainControl)elementHost1.Child).wpf_fun();,其中MainControl就是你自己創建的自定義的控件的名稱,這樣就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM