我有一个WPF窗口,我没有关闭.相反,我做Hide()和Show()它.现在,当我在记录中的网格中双击我的MainWindow时,将触发Show()窗口,窗口将始终显示在MainWindow后面.我已经尝试了休息,但没有成功:
view.Show();
view.Activate();
view.Topmost = true;
view.Topmost = false;
view.Focus();
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以让窗户绝对到前面?我无法将MainWindow设置为所有者.
HCL*_*HCL 28
Window.Activate是要走的路(如果你不想设置为所有者).如果这不起作用(如您所述),则在其他位置出现错误.也许你的MainWindow已经TopMost开始了true?或者您有一个延迟调用,主要关注您的主窗口或控件?
除非您希望阻止整个应用程序直到模态打开窗口关闭,否则调用另一个答案中建议的ShowDialog()不是一个选项.
如果WPF,Win32-Api中的错误也会影响窗口管理,但问题的描述听起来不像这样.
另外这里是黑客,但我希望你不需要它:
Dispatcher.BeginInvoke(new Action(delegate {
view.Activate();
}), System.Windows.Threading.DispatcherPriority.ContextIdle, null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16233 次 |
| 最近记录: |