禁止“活动WPF”中的“背景”窗口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁止“活动WPF”中的“背景”窗口相关的知识,希望对你有一定的参考价值。
这个有点难以解释,它与.NET和Windows操作系统有关,而不是WPF,但是我有一个带有“MainWindow”的WPF应用程序,在这个窗口中有一个菜单,如File,Edit如果用户单击其中一个菜单项,将通过ShowDialog()
方法显示一个对话窗口。这可以像我期望的那样工作,但我已经有了这样做的请求,以便用户根本无法选择非活动窗口。用户当前可以通过转到任务栏并选择非活动窗口,然后将非活动窗口置于最前端。用户将无法执行任何操作,但它位于应该处于活动状态的窗口之上。这甚至可以纠正吗?
谢谢!
答案
可能有更好的方法来执行此操作,但使用主窗口激活事件更改为上一个已知对话框将起作用:
Window lastWin;
private void button_Click(object sender, RoutedEventArgs e)
{
var window1 = new Window1();
lastWin = window1;
window1.ShowDialog();
}
private void Window_Activated(object sender, EventArgs e)
{
if (lastWin != null)
{
lastWin.Focus();
}
}
另一答案
@ J.H。有我想要的想法。
基本上,我做了:
Application.Current.MainWindow.ShowInTaskbar = false;
像魅力一样工作(当对话窗口关闭时,确保将ShowInTaskbar
设置为true)
以上是关于禁止“活动WPF”中的“背景”窗口的主要内容,如果未能解决你的问题,请参考以下文章