显示对话框后,WPF无法设置所有者属性

时间:2013-05-24 06:45:11

标签: c# wpf

当我更改我的wpf应用程序中显示的所有窗口的所有者时,有时我得到异常“在显示对话框后无法设置所有者属性”

代码

foreach (Window vAlarmWindow in Application.Current.Windows)
{
    if (vAlarmWindow is AlarmWindow && this != vAlarmWindow.Owner && !vAlarmWindow.IsLoaded)
    {
        vAlarmWindow.Owner = this;
    }
}   

可能是什么原因?

1 个答案:

答案 0 :(得分:3)

最有可能的原因是您在该列表中有一些已经显示并关闭的AlarmWindow。当Window关闭时,它会被卸载 不幸的是,Window课程中没有任何属性会告诉您它是否已被显示和关闭。为此,您必须处理Window.Closed事件并在AlarmWindow

中设置一些属性