我有三个窗户。FirstWindow
,SecondWindow
和ThirdWindow
. FirstWindow
有按钮并单击此按钮打开SecondWindow
. 类似地,SecondWindow
有按钮并单击此按钮会打开ThirdWindow
. Owner
的属性SecondWindow
设置为FirstWindow
,Owner
的属性ThirdWindow
设置为SecondWindow
。场景描述问题:
连续打开所有窗口。它看起来像这样:
然后通过单击右上角的相应图标最小化所有窗口ThirdWindow
。如果您尝试通过单击任务栏中的FirstLevelWindow
或来最大化所有窗口ThirdLevelWinow
- 一切都会好的,三个窗口将被最大化。但是如果你点击SecondWindow
你会看到这个:
我该如何修复它,或者它只是WPF
错误?如果有帮助,我可以提供存档的示例项目。
更新
最小化窗口 - 单击“_”图标,窗口图标栏中的左侧图标。所有的窗口都是模态的,即它是用ShowDialog()
方法打开的,而不是用Show()
方法打开的。因此,如果您最小化第三个窗口 - 所有窗口都将被最小化。
如果您不想通过链接下载项目,请在此处使用代码:
FirstWindow
XAML:
<Button Click="OpenChildWindow"
Content="ChildWindow"/>
FirstWindow
。CS:
private void OpenChildWindow(Object sender, RoutedEventArgs e)
{
var window = new SecondLevelWindow();
window.Owner = this;
window.ShowDialog();
}
SecondWindow
XAML:
<Button Click="OpenChildWindow"
Content="ChildWindow"/>
SecondWindow
。CS:
private void OpenChildWindow(Object sender, RoutedEventArgs e)
{
var window = new ThirdLevelWindow();
window.Owner = this;
window.ShowDialog();
}
ThirdWindow
是没有任何内容的空窗口。
这里 链接到示例项目
我刚刚发现,如果属性设置为“NoResize” ResizeMode
,则不会重现该错误。ThirdWindow
Mb 这将是有用的信息。