我的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