对话框显示后,WPF无法设置所有者属性
本文关键字:设置 所有者 属性 WPF 显示 对话框 | 更新日期: 2023-09-27 18:15:12
当我更改wpf应用程序中显示的所有窗口的所有者时,有时我得到异常"在显示对话框后无法设置所有者属性"
代码foreach (Window vAlarmWindow in Application.Current.Windows)
{
if (vAlarmWindow is AlarmWindow && this != vAlarmWindow.Owner && !vAlarmWindow.IsLoaded)
{
vAlarmWindow.Owner = this;
}
}
原因是什么?
最有可能的原因是您在该列表中已经显示并关闭了一些AlarmWindow
。当Window
关闭时,它被卸载。
不幸的是,你没有属性在Window
类,会告诉你,如果它已显示和关闭。为此,您必须处理Window.Closed
事件并在AlarmWindow
类中设置一些属性