【问题标题】:Using Owner Handle in WPF window Show method在 WPF 窗口显示方法中使用所有者句柄
【发布时间】:2014-04-14 05:41:30
【问题描述】:

在 Winforms 中,我们有 Show(IWin32Window owner) 方法来显示基于传递给 Show 方法的所有者句柄的表单。

我希望在 WPF 窗口中具有类似的行为。但是 WPF 窗口没有 Show 接受所有者句柄的方法。

我发现的另一个替代方法是将 window.Owner 设置为所有者窗口,然后使用 window.Show()。但是通过这样做,我们可以只指定一个 WPF 窗口作为所有者。 在我的情况下,所有者可以是 winform 或 WPF 窗口。我们怎样才能做到这一点?

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    设置窗口的Owner 属性是在两个WPF 窗口之间创建关系的正确方法(根据Window.Owner 属性MSDN 页面的备注部分)。

    但是,如果您想将所有者设置为 Winforms Form,则必须使用 WindowInteropHelper 类:

    WindowInteropHelper helper = new WindowInteropHelper(wpfWindow);
    helper.Owner = form.Handle;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-19
      • 2010-09-13
      • 1970-01-01
      • 2023-03-09
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多