2009-06-16 29 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(); 
相关问题