wpf 中有時候會使用 frame + page 的方式來實現頁面切換的效果,但往往我們都需要在page中對主窗體進行一些調整.
那麼首先我們需要獲得主窗體物件.有下面兩種方式
1.簡單方式
var window = window.
getwindow
(this);
if(window !=
null
)
2.複雜方式.遍歷樹
//此方法也可以宣告成靜態方法
public t getancestor
<
t>
(dependencyobject reference)
where t : dependencyobject
if(parent !=
null
)return
(t)parent;
else
return
null;}
//呼叫 :
var window =
getancestor
<
window
>
(this);
if(window !=
null
)
需要注意的是.需要在 page_loaded 之後呼叫,否則 window == null C 類中操作主窗體控制項
主窗體程式 執行結果啥也沒,解決辦法 將窗體作為引數傳入類,然後可以根據屬性來對其進行相應的操作 例項修改如下 主窗體程式 using system using system.collections.generic using system.componentmodel using system.d...
如何在子窗體中操作主窗體上的控制項
很多人都苦惱於如何在子窗體中操作主窗體上的控制項,或者在主窗體中操作子窗體上的控制項。相比較而言,後面稍微簡單一些,只要在主窗體中建立子窗體的時候,保留所建立子窗體物件即可。下面重點介紹前一種,目前常見的有兩種方法,基本上大同小異 第一種,在主窗體類中定義乙個靜態成員,來儲存當前主窗體物件,例如 p...
在WPF窗體中重繪
寫這篇主要是為了驗證任何元素自身都具備繪圖功能.在預設window中重寫onrender方法 protected override void onrender drawingcontext drawingcontext 結果還是空白一片.窗體的預設視覺樹 解決方法1 去掉預設視覺樹 protecte...