gpt4 book ai didi

wpf - 模态对话框未显示在其他窗口之上

转载 作者:行者123 更新时间:2023-12-02 04:55:29 25 4
gpt4 key购买 nike

我使用 Window.ShowDialog() 在 WPF (MVVM) 应用程序中打开模式窗口,但它允许我使用 Windows 任务栏 (Windows 7) 导航到其他窗口。

考虑一下:我的应用程序中打开了 3 个非模式窗口。现在,其中一个使用 Window.ShowDialog() 打开模式窗口。我还将 Application.MainWindow 设置为模式窗口的所有者。之所以如此,是因为我使用 MVVM 消息传递,并且用于打开新窗口的消息处理程序集中在 App.xaml.cs 中。窗口确实以模态方式打开 - 没有问题。但是,Windows 7 允许我从任务栏切换到其他应用程序窗口。这会导致模式窗口位于另一个窗口后面的情况,我不希望出现这种情况。

只要模式打开,我就无法在其他窗口上执行任何操作,但如果模式窗口只要打开就始终保持在顶部,那就太好了。有没有办法在模式打开时禁用任务栏切换?仅供引用 - 从应用程序启动的所有打开的窗口在任务栏上显示为单独的条目。

提前致谢!

最佳答案

没有任何代码可以作为此基础,但听起来您已经在您创建并期望的 Window 上遗漏了一些属性 ShowDialog应用额外的“对话框”语义:

Window window = new Window()
{
Title = "Modal Dialog",
ShowInTaskbar = false, // don't show the dialog on the taskbar
Topmost = true, // ensure we're Always On Top
ResizeMode = ResizeMode.NoResize, // remove excess caption bar buttons
Owner = Application.Current.MainWindow,
};

window.ShowDialog();

关于wpf - 模态对话框未显示在其他窗口之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6417558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com