2011-06-02 43 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

相關問題