Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示对话框后,WPF无法设置所有者属性_C#_Wpf - Fatal编程技术网

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

C# 显示对话框后,WPF无法设置所有者属性,c#,wpf,C#,Wpf,当我更改wpf应用程序中显示的所有窗口的所有者时,有时会出现异常“显示对话框后无法设置所有者属性” 代码 原因可能是什么?最可能的原因是列表中有一些已显示并关闭的报警窗口。当窗口关闭时,它将被卸载。 不幸的是,窗口类中没有属性可以告诉您它是否已显示和关闭。为此,您必须处理Window.Closed事件,并在AlarmWindow类中设置一些属性,您试图设置为所有者的窗口不可见。 foreach (Window vAlarmWindow in Application.Current.Windows

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

代码


原因可能是什么?

最可能的原因是列表中有一些已显示并关闭的
报警窗口。当
窗口关闭时,它将被卸载。

不幸的是,
窗口
类中没有属性可以告诉您它是否已显示和关闭。为此,您必须处理
Window.Closed
事件,并在
AlarmWindow
类中设置一些属性,您试图设置为所有者的窗口不可见。
foreach (Window vAlarmWindow in Application.Current.Windows)
{
    if (vAlarmWindow is AlarmWindow && this != vAlarmWindow.Owner && !vAlarmWindow.IsLoaded)
    {
        vAlarmWindow.Owner = this;
    }
}