Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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,我的设置是一个“主窗口”,然后会打开另一个窗口,我们称之为“ChildWindow”,ChildWindow的所有者是MainWindow,这意味着当ChildWindow打开时,如果你点击主窗口上的某个东西,ChildWindow将不会放在主窗口的后面,它将始终位于主窗口的顶部 当ChildWindow被最大化,然后被最小化时,偶尔在尝试恢复窗口时(通过任务栏或“恢复”),它不会恢复自身-当这种情况发生时,ChildWindow有时会闪烁片刻,然后很快又消失 在要求举例或投票结束之前,请注意以

我的设置是一个“主窗口”,然后会打开另一个窗口,我们称之为“ChildWindow”,ChildWindow的所有者是MainWindow,这意味着当ChildWindow打开时,如果你点击主窗口上的某个东西,ChildWindow将不会放在主窗口的后面,它将始终位于主窗口的顶部

当ChildWindow被最大化,然后被最小化时,偶尔在尝试恢复窗口时(通过任务栏或“恢复”),它不会恢复自身-当这种情况发生时,ChildWindow有时会闪烁片刻,然后很快又消失

在要求举例或投票结束之前,请注意以下事项:

  • 我无法在我的开发机器上重现此问题(这是我目前唯一可以访问的机器)

  • 除了我的电脑之外,几乎每台电脑都会出现这种情况

  • 无论我做什么,我都无法从新的WPF应用程序中重新创建此问题

  • 我正在开发的程序非常庞大,在两个受影响的窗口中剥离代码需要花费相当多的时间和精力,以尝试用较少的代码重新生成(请记住,即使剥离了它,我仍然无法验证问题是否发生在我的开发PC上)

  • 发布代码(除了小片段)是违反公司政策的

我的问题与这些问题相同(或非常相似):

我真的没有方向,我应该寻找什么,我知道没有一个例子,这个问题将是很难解决的(但这不是这个网站的目的吗?),但如果任何人在WPF的经验可以提供任何洞察什么可能导致这样的问题,这样我可以缩小我的搜索领域,然后,我可以开始将较小的相关代码片段粘贴到我的问题中,以帮助弄清问题的真相

如果有人能把我链接到一个拥有至少一半用户的论坛网站,那么我很乐意在那里发帖——但现在感觉这是最好的地方

编辑-以下代码用于将主窗口设置为ChildWindow的所有者(此代码位于ChildWindow.xaml.cs中):


您好,您能提供以下信息吗:1)是否涉及多个显示器,如果是,它们是在静态场景中设置的,还是像笔记本电脑一样,始终插入和退出显示器?2) 任务栏是否位于默认的windows位置(底部)?下一步:如果没有用于触发此恢复和隐藏功能的代码,除了猜测之外,很难给出解决方案,而这不是本网站的目的;-)另外,您是否定期在主窗口上触发一些更新?还是在某个地方有一个模态对话?@Stefan感谢您的回复!在我的开发PC上,我使用一个可插入多个显示器的笔记本电脑基座,但我突然想到,在发生这种情况的机器上,到目前为止,它始终是一个显示器。至于任务栏,它在底部。我来看看是否可以获取恢复和隐藏功能的代码:)@Stefan在您的第二个响应中,您是否建议在您尝试恢复子窗口时,这可能是主窗口触发焦点回到自身(偶然)的原因?我不太清楚你所说的“模态对话框”
主窗口触发焦点回到自身(偶然)是什么意思。当你试图恢复子窗口时,是的,有时候UI更新会以某种方式触发焦点。当您尝试安装应用程序时。。。在安装过程中,您将继续工作。。。有时。。。当安装完成后,一个窗口将自己强制到前台(顺便说一句,很有趣),但是,类似的情况仍然可能发生。
public void ShowDisplay(Window ownerWindow)
{
    Owner = ownerWindow;
    Show();
}