我的wpf應用程序出現問題,模式對話框出現在主應用程序後面,導致它掛起。WPF應用程序中的模態對話框焦點問題
這是非常不一致的,大多數情況下,彈出窗口正常工作,並顯示在前面,但偶爾會彈出後面,停止任何與它的交互。如果發生這種情況,我仍然可以使用任務欄關閉對話框。我注意到,它通常發生在許多其他應用程序打開並且任務欄已滿時。另外,我正在使用兩個屏幕,問題只出現在任務欄的屏幕上 - 非常奇怪!
對話框是一個窗口控件,它包含一個注入的usercontrol,因爲它是數據上下文。要設置窗口的所有者調用的ShowDialog(),在應用程序中的第一個活動窗口是用來代替Window.GetWindow(本)前:
private static Window GetOwner()
{
if (Application.Current != null)
{
var owner = Application.Current.Windows.Cast().FirstOrDefault(w => w.IsActive);
return owner ?? Application.Current.MainWindow;
}
return null;
}
什麼可能會導致此問題的任何想法?甚至如何嘗試跟蹤它,以便在發生時收集更多信息?
感謝, 多納爾
轉讓後的「所有者」的價值是什麼?它是否一致? – Robaticus 2010-06-17 13:43:55