2009-01-26 60 views
0

有沒有辦法找到我的應用程序(application.current.windows) 或任何其他方式找出所有活動窗口的z順序,以找出什麼是「父」模態窗口的窗口?z-order應用程序窗口 - WPF

我想實現一個「着色器」功能,當顯示一個模態窗口時,應該淡入父窗口。 (到目前爲止,我發現的唯一方法是通過「父」窗口作爲參數,但我不太喜歡這種方式)。

回答

2

無論如何,您應該將它傳遞給父窗口,否則如果用戶在您的應用程序和其他應用程序之間切換(我不得不在上週修復這個問題)。 Windows系統有顯示模式窗口時,應設置一個Owner屬性:

bool? res = new MyWindow(){Owner = this}.ShowDialog(); 

然後你可以從子窗口使用所有者屬性:

if (Owner != null) { 
Owner.DoWhateverYouWant(); 
} 
+0

好主意地頭。 不是我正在尋找的東西,但仍然比爲「父」形式創建新參數要好得多。 – Entrodus 2009-01-27 11:58:00