在 WPF 中,我们有Window.ShowDialog()
它允许显示模式对话框。
在 WinForms 中有类似的功能,但它也Form.ShowDialog(IWin32Window)
有一个允许传入的重载IWin32Window owner
。这样,新对话框不是模态的,并且始终在其所有者的正上方维护一个 z 顺序。
如何使用 WPF 获得相同的功能?
在 WPF 中,我们有Window.ShowDialog()
它允许显示模式对话框。
在 WinForms 中有类似的功能,但它也Form.ShowDialog(IWin32Window)
有一个允许传入的重载IWin32Window owner
。这样,新对话框不是模态的,并且始终在其所有者的正上方维护一个 z 顺序。
如何使用 WPF 获得相同的功能?
在 Window 上使用Owner属性。
要扩展@Jonathan.Peppers 的答案:
假设您有一个名为 的 Window FooWindow
,并且BarWindow.cs
您想在其中创建和执行一个实例。FooWindow
您可以像这样简单地创建模态版本:
new FooWindow(){ Owner = this }.ShowDialog();
显然,这会假设您不需要对实例的引用,但是您明白了吗?