或者我必须做一些事情,比如创建一个窗体并在其中托管xaml?尽量保持外观和感觉一致。如果我只能做后者,我该如何实现呢?
答案 0 :(得分:4)
这应该是你想要的:
var window = new MyWindow();
var helper = new WindowInteropHelper(window);
helper.Owner = this.Handle;
window.ShowDialog();
这是确保最小化/恢复时的正确行为的关键。有关该方法的详细信息,请参阅this blog post。
(如果这不是你需要的,也许你可以定义“真正的模态”。)
答案 1 :(得分:1)
你可以创建custom dialog boxes,它们是模态的。您可以在其中托管WPF Window
并将按钮定义为模态关闭按钮。这似乎是做模态窗口的最佳方式,IMO。