我面临着一种特殊的行为。我们知道窗口的状态切换,如果您单击该窗口的任务栏项目,它将恢复到桌面,如果再次单击它,它将隐藏(最小化)。
我有一个WPF窗口,它呈现了一些相当复杂的GUI。当我激活我的窗口时,GUI被渲染,然后如果我最大化或最小化,它工作正常。现在,如果我从任务栏单击最小化窗口,它会将窗口恢复到桌面,但如果我再次在任务栏上单击它,它将不会最小化。但是,任务栏似乎被切换(因为它表示相应的窗口应该被最小化......而窗口仍然在顶部)。
但是和大家一样,我在这里看不到大问题。我可以忽略这一点。
当我将机器锁定一段时间(通常是通过远程会话)时,会出现问题。解锁我的XP机器后,该窗口根本无法恢复...无论我右键单击多少次,还原,最大化任务栏项目等。
请注意,这是间歇性的,并非总是发生。
我在任务管理器中观察窗口,我发现它没有挂起,也没有说“没有响应”。内存消耗也受到控制。实际上GUI并没有挂起。
有一点需要注意的是,我的应用程序最近使用x86 CPU目标进行了重建,以便在Windows 7和XP上进行渲染。但是这种行为是在XP而不是Windows 7上观察到的。
如果我运行我的应用程序的旧版本(任何CPU目标,特定于XP),窗口在所有情况下都表现良好。
此外,我还有我的应用程序的源代码,如果我将调试器连接到不工作的窗口,然后分离调试器,则显示窗口!如果我附加一个内存分析器并且分离和窗口被重新激活并显示出来也会发生同样的事情!
这是一种奇怪的行为,我想根本原因在于窗口的原始行为,当我点击切换任务栏上窗口的状态时,它不会隐藏。
有没有人对我的WPF应用程序在XP上的x86目标上的这种特别奇怪的行为有所了解?