WPF系統中得到窗體或是控制項控制代碼

2021-09-20 02:53:34 字數 530 閱讀 5016

1.窗體:

intptr hwnd = new windowinterophelper(this).handle;

2.控制項:

intptr hwnd = ((hwndsource)presentationsource.fromvisual(uielement)).handle;

控制代碼的取得不要在構造 函式中取得,此時的vitual還沒有產生,在loaded中 就可以了。

using system.windows.interop; //使用windowinterophelper類可以獲得窗體控制代碼 int handle = new windowinterophelper(this).handle.toint32();我們在專案中使用wpf開發程式,需要呼叫乙個activex控制項,顯示三維的場景,但是需要把當前視窗的控制代碼傳遞給ocx控制項,wpf視窗本身沒有控制代碼屬性,需要通過如下的方式實現轉換

int handle = new windowinterophelper(this).handle.toint32();

//this代表當前的視窗

在WPF窗體中重繪

寫這篇主要是為了驗證任何元素自身都具備繪圖功能.在預設window中重寫onrender方法 protected override void onrender drawingcontext drawingcontext 結果還是空白一片.窗體的預設視覺樹 解決方法1 去掉預設視覺樹 protecte...

WPF中製作無邊框窗體

原文 wpf中製作無邊框窗體 眾所周知,在winform中,如果要製作乙個無邊框窗體,可以將窗體的formborderstyle屬性設定為none來完成。如果要製作成異形窗體,則需要使用或者使用gdi 自定義繪製。那麼,在wpf中,我們怎樣製作乙個無邊框窗體呢?答案是將window的windowst...

在WPF窗體中重繪

原文 在wpf窗體中重繪 寫這篇主要是為了驗證任何元素自身都具備繪圖功能.在預設window中重寫onrender方法 protected override void onrender drawingcontext drawingcontext 結果還是空白一片.窗體的預設視覺樹 解決方法1 去掉預...