当我更改我的wpf应用程序中显示的所有窗口的所有者时,有时我得到异常“在显示对话框后无法设置所有者属性”
代码
foreach (Window vAlarmWindow in Application.Current.Windows)
{
if (vAlarmWindow is AlarmWindow && this != vAlarmWindow.Owner && !vAlarmWindow.IsLoaded)
{
vAlarmWindow.Owner = this;
}
}
可能是什么原因?
答案 0 :(得分:3)
最有可能的原因是您在该列表中有一些已经显示并关闭的AlarmWindow
。当Window
关闭时,它会被卸载
不幸的是,Window
课程中没有任何属性会告诉您它是否已被显示和关闭。为此,您必须处理Window.Closed
事件并在AlarmWindow
类