2009-06-16 28 views
12

我有我的MainApplication窗口,它使用.ShowDialog()啓動一個新窗口,使它成爲模態。當主應用程序窗口被點擊時,如何聚焦模態WPF窗口

UploadWindow uploadWindow = new UploadWindow(); 
uploadWindow.ShowDialog(); 

現在用戶經常會把這個窗口打開,並且在其他窗口下可能會丟失。當單擊MainApplication時,您會看到類似錯誤的嘟嘟聲,並且無法與其交互,因此模態窗口會按預期正確阻塞,但如果模態窗口專注於此時向用戶顯示它,那將會很不錯還開着。

目前它看起來好像MainApplication窗口已被鎖定。

回答

24

嘗試設置對話框的所有者:

var uploadWindow = new UploadWindow(); 
uploadWindow.Owner = this; 
uploadWindow.ShowDialog(); 
+0

正是我在找的東西。 – 2009-06-16 10:38:44

+2

我發現它有點奇怪,所有者屬性沒有被默認設置。感謝您的提示,但有一天可能會變得有用。 – Oskar 2009-06-16 11:09:59

2

我有問題,我不能用這個,如果有人有同樣的問題,你可以使用

Window.GetWindow(this) 
0

如果所有的上述解決方案嘗試過,仍然面臨同樣的問題 然後這裏是您的測試和驗證解決方案 轉到您的窗口xaml並添加

ResizeM ode =「NoResize」

1

由於我使用的是MVVM,我沒有從GUI創建代碼。我用這個。

var uploadWindow = new UploadWindow(); 
uploadWindow.Owner = Application.Current.MainWindow; 
uploadWindow.ShowDialog(); 
相關問題