C# WPF子窗口不存在';在最小化后,不能持续恢复
我的设置是一个“主窗口”,然后会打开另一个窗口,我们称之为“ChildWindow”,ChildWindow的所有者是MainWindow,这意味着当ChildWindow打开时,如果你点击主窗口上的某个东西,ChildWindow将不会放在主窗口的后面,它将始终位于主窗口的顶部 当ChildWindow被最大化,然后被最小化时,偶尔在尝试恢复窗口时(通过任务栏或“恢复”),它不会恢复自身-当这种情况发生时,ChildWindow有时会闪烁片刻,然后很快又消失 在要求举例或投票结束之前,请注意以下事项:C# WPF子窗口不存在';在最小化后,不能持续恢复,c#,wpf,C#,Wpf,我的设置是一个“主窗口”,然后会打开另一个窗口,我们称之为“ChildWindow”,ChildWindow的所有者是MainWindow,这意味着当ChildWindow打开时,如果你点击主窗口上的某个东西,ChildWindow将不会放在主窗口的后面,它将始终位于主窗口的顶部 当ChildWindow被最大化,然后被最小化时,偶尔在尝试恢复窗口时(通过任务栏或“恢复”),它不会恢复自身-当这种情况发生时,ChildWindow有时会闪烁片刻,然后很快又消失 在要求举例或投票结束之前,请注意以
- 我无法在我的开发机器上重现此问题(这是我目前唯一可以访问的机器)
- 除了我的电脑之外,几乎每台电脑都会出现这种情况
- 无论我做什么,我都无法从新的WPF应用程序中重新创建此问题
- 我正在开发的程序非常庞大,在两个受影响的窗口中剥离代码需要花费相当多的时间和精力,以尝试用较少的代码重新生成(请记住,即使剥离了它,我仍然无法验证问题是否发生在我的开发PC上)
- 发布代码(除了小片段)是违反公司政策的
您好,您能提供以下信息吗:1)是否涉及多个显示器,如果是,它们是在静态场景中设置的,还是像笔记本电脑一样,始终插入和退出显示器?2) 任务栏是否位于默认的windows位置(底部)?下一步:如果没有用于触发此恢复和隐藏功能的代码,除了猜测之外,很难给出解决方案,而这不是本网站的目的;-)另外,您是否定期在主窗口上触发一些更新?还是在某个地方有一个模态对话?@Stefan感谢您的回复!在我的开发PC上,我使用一个可插入多个显示器的笔记本电脑基座,但我突然想到,在发生这种情况的机器上,到目前为止,它始终是一个显示器。至于任务栏,它在底部。我来看看是否可以获取恢复和隐藏功能的代码:)@Stefan在您的第二个响应中,您是否建议在您尝试恢复子窗口时,这可能是主窗口触发焦点回到自身(偶然)的原因?我不太清楚你所说的“模态对话框”
主窗口触发焦点回到自身(偶然)是什么意思。当你试图恢复子窗口时,是的,有时候UI更新会以某种方式触发焦点。当您尝试安装应用程序时。。。在安装过程中,您将继续工作。。。有时。。。当安装完成后,一个窗口将自己强制到前台(顺便说一句,很有趣),但是,类似的情况仍然可能发生。
public void ShowDisplay(Window ownerWindow)
{
Owner = ownerWindow;
Show();
}