WPF 在 Page 中操作主窗體

2021-09-12 03:39:01 字數 706 閱讀 6846

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...