Wpf 当其中一扇窗户放在前面时,如何将所有窗户放在前面?
我的所有窗口共享相同的基本WindowBase类。 我有 及 它正在工作,但速度非常慢。 但是,我发现当应用程序启动时,“触发”打印了大约100次 我所要做的就是将所有窗口放在前面,同时将我从任务栏单击的窗口堆叠到顶部。 我怎样才能提高 另外,我不会把我的窗户从窗户上抬起来。就在前面。 我可以在Qt中实现这一点,因为有一个叫做stackUnder的函数,它是QWidget(作为一个窗口)好的,我用一个技巧得到了它。 在我刚刚使用的activeAllWindows中Wpf 当其中一扇窗户放在前面时,如何将所有窗户放在前面?,wpf,window,activation,Wpf,Window,Activation,我的所有窗口共享相同的基本WindowBase类。 我有 及 它正在工作,但速度非常慢。 但是,我发现当应用程序启动时,“触发”打印了大约100次 我所要做的就是将所有窗口放在前面,同时将我从任务栏单击的窗口堆叠到顶部。 我怎样才能提高 另外,我不会把我的窗户从窗户上抬起来。就在前面。 我可以在Qt中实现这一点,因为有一个叫做stackUnder的函数,它是QWidget(作为一个窗口)好的,我用一个技巧得到了它。 在我刚刚使用的activeAllWindows中
window.Topmost = true;
window.Topmost = false;
以防止它产生激活的事件
void WindowBase_Activated(object sender, EventArgs e)
{
if (!_bActivating)
{
_bActivating = true;
activateAllWindows();
Activate();
_bActivating = false;
}
}
private void activateAllWindows()
{
Console.WriteLine("triggered");
foreach (Window window in Application.Current.Windows)
{
if (window.IsVisible && (window as WindowBase)._bActivating == false && window.WindowState==WindowState.Normal)
{
window.Activate();
}
}
}
window.Topmost = true;
window.Topmost = false;