2011-06-02 39 views
0

我正在开发一个使用mvvm模式的WPF应用程序。我发现了一个奇怪的问题。 有一个表单,其中包含一个devexpress DXGrid控件。在演示者中有一个绑定双击手势的命令。当命令触发一个新的窗口时,通过工厂类创建并显示(使用Show()方法)。我调用Show()进入新窗口后,整个wpf应用程序被阻止

因此,当显示此窗口时,整个应用程序(所有应用程序窗口)都会被阻止。我锁定任何其他应用程序后,此锁定消失。

更新devexpress版本后第一次出现此问题。然后,在双击网格行后显示新窗口时会出现此问题。通过设置新窗口的Owner属性,问题部分得到解决。

现在不时出现此问题。这似乎是线程在这里,但我不知道如何。 =(

PS: 还有一个奇怪的东西,当显示新的窗口,也没有发生死机,问题,第一个窗口仍专注,我必须点击新显示窗口之前,我可以使用任何控制, 。置于其上

我曾尝试:

  • 集ShowActivated财产
  • 调用激活()展()
  • newform.Dispatcher.CheckAccess()后
    确定哪个线程后 显示来电秀()
    方法
  • 检查newform.IsActive属性(值=真)

你能告诉我怎么解决吗? 谢谢。

回答

0

好解决第一个窗口的问题被聚焦,而不是新所示的窗口,你需要做到以下几点,调用show方法的新窗口后:

Mouse.Capture(null); 

希望这个问题会解决。

+0

感谢您的建议,哈桑,但可惜它没有帮助=( 感觉这个问题是由一些特定的DXGrid行为引起的 – garek 2011-06-03 06:42:57

+0

@garek如果这完全是DevExpress问题,那么您可以将它发布在他们的论坛上。你会得到一个更合适的建议。 – 2011-06-03 07:27:37

相关问题