在Show之后制作ShowDialog() - WPF

时间:2016-05-20 05:49:03

标签: c# .net wpf windows

是否有可能将已经显示的窗口设置为模型对话框(就像我们调用ShowDialog()时会发生的那样)

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

1 个答案:

答案 0 :(得分: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;
    }
}