c# - 如何使 WPF 窗口位于我的应用程序的所有其他窗口之上(不是系统范围的)?

标签 c# wpf topmost

我希望我的窗口位于所有其他窗口之上仅在我的应用程序中。如果我设置了一个窗口的 TopMost 属性,它就会出现在所有应用程序的所有窗口之上,而我不希望这样。

最佳答案

需要设置窗口的owner属性。

您可以通过 showdialog 显示一个窗口以阻止您的主窗口,或者您可以正常显示它并将其放在所有者之上而不阻止所有者。

这里是代码隐藏部分的代码示例——我省略了所有明显的东西:

namespace StackoverflowExample
{
  public partial class MainWindow : Window
  {
    public MainWindow()
    {
      InitializeComponent();
    }
    void NewWindowAsDialog(object sender, RoutedEventArgs e)
    {
      Window myOwnedDialog = new Window();
      myOwnedDialog.Owner = this;
      myOwnedDialog.ShowDialog();
    }
    void NormalNewWindow(object sender, RoutedEventArgs e)
    {
      Window myOwnedWindow = new Window();
      myOwnedWindow.Owner = this;
      myOwnedWindow.Show();
    }
  }
}

关于c# - 如何使 WPF 窗口位于我的应用程序的所有其他窗口之上(不是系统范围的)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2546566/

相关文章:

wpf - WPF:不带下拉按钮的组合框

wpf - WindowsFormsHost 始终是 WPF 元素的最顶层

powershell - 在 PowerShell 中将控制台设置为 Top-Most

c# - 我怎样才能得到段落开头的首字母?

C# Double - ToString 格式化以美分显示值,不显示小数

WPF错误: Cannot find governing FrameworkElement for target element

wpf - 如何防止 TreeView 所选项目的子项继承其格式?

c# - 如何将 MDI 子窗体带到前面?

c# - 如何只从 SqlDataReader 中获取一些行?

c# - 检查网站是否在线 - 回发问题