2016-06-27 175 views
1

後堵輸入我有一個VSIX應用程序中的WPF窗口,我表明:WPF對話框關閉

var myWindow = new MyWindow(this.CurrentWorkspace) 
{ 
    Owner = Application.Current.MainWindow 
}; 
myWindow .ShowDialog(); 

不過,我關閉這個窗口後,然後我得到以下錯誤信息:

Microsoft Visual Studio檢測到某個操作阻止了 用戶輸入。這可能是由於需要阻止用戶交互的活動模式對話框或任務 引起的。

我錯過了什麼?

請注意,這可能不需要是對話窗口,但當它不是時,我有一個problem

回答

2

我遇到過這麼多次,避免這個問題的最簡單方法是從Microsoft.VisualStudio.PlatformUI.DialogWindow中派生出對話框,以確保它正確的父對象,並相應地設置IDE的模態狀態。

基本上,這裏的問題是IDE並不真正瞭解您的對話框,它可以通過Win32/WinForms或WPF實現,並且調用IVSUIShell.EnableModeless,適用於前者,我從未能夠使其與後者合作。所以我只是從Microsoft.VisualStudio.PlatformUI.DialogWindow派生出來,讓它處理細節。

真誠,

+0

像夢一樣工作。非常感謝 – DrGriff