2016-11-22 90 views
0

WPF和Windows窗體互操作上MSDNWPF和Windows窗體互操作

描述:

在WPF用戶界面,可以改變元件的z順序來控制重疊行爲。託管的Windows窗體控件繪製在單獨的HWND中,因此它始終繪製在WPF元素上。

*,但我想知道有解決它沒有私人的方式?

+1

你能告訴我你爲什麼需要在WPF託管Windows窗體?任何具體的原因,迫使你與Windows窗體託管移動?不相關的問題,只是好奇知道 – Gopichandar

+0

嗯,這可能是相關的......因爲最好的解決方案並不總是做我們想做的事情。 – Phil1970

回答

2

不,這就是所謂的空域問題(因爲WinForms元素全部都是這樣)。

有應該是圍繞.NET 4.5/4.6的修復程序,但它從來就沒有生產(source;還有其他的,如果你google一下)。迄今爲止還沒有任何關於微軟計劃解決這個問題的文字。

這篇文章可以幫助各種辦法來繞過它:MSDN

0

我的第一個recommandation將取代由等效WPF控件的Windows窗體控件。

第二個建議是接受限制並且不重疊Windows窗體控件上的任何WPF控件。

在某些情況下,你可能能夠使用多個頂級Windows來解決此限制。然後您必須編寫一些代碼,以正確同步Windows的位置或明顯的激活狀態... ...

我從來沒有做過Windows窗體和WPF之間的事,但我已經在Windows窗體中完成了2個頂級窗口,部分UI可能是半透明的(目的是爲了能夠與另一個應用程序重疊(可能是PDF查看器),以便我們可以從現有圖表「複製」曲線)。