【问题标题】:Make ShowDialog() after Show - WPF在显示之后制作 ShowDialog() - WPF
【发布时间】:2016-05-20 05:49:02
【问题描述】:

是否有可能将已经显示的窗口放入 模型对话框(就像我们调用 ShowDialog() 时发生的情况一样)

  1. 阻塞或非阻塞,我可以接受任何解决方案,但应禁用后台的所有 Windows。
  2. 隐藏窗口并再次使用 ShowDialog 显示窗口是不可能的,因为我必须保持状态。

【问题讨论】:

  • 我通常只会在后台禁用窗口。只需将背景窗口的IsEnabled 绑定到一个属性,并将其设置为truefalse 即可启用和禁用。

标签: c# .net wpf windows


【解决方案1】:

这是我能找到的最接近的解决方案。唯一的问题是我更改了 WindowStyle 以删除标题栏,否则您仍然可以移动这些 Windows。

this.Topmost = true;

foreach (Window window in Application.Current.Windows)
{
    if (window.Title != this.Title)
    {
        window.Focusable = false;
        window.WindowStyle = WindowStyle.None;
        window.ResizeMode = ResizeMode.NoResize;
        window.IsEnabled = false;
    }
}

【讨论】:

  • +1,这与我当前的解决方案很接近,但是 Topmost 也会使窗口成为其他应用程序的顶部,而且提到的标题栏的事情仍然困扰着我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多