以 WPF 窗口为父级的 Winform 对话框 [英] Winform dialog with WPF window as Parent

查看:32
本文介绍了以 WPF 窗口为父级的 Winform 对话框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 WinForm 对话框,我想将其 Parent 属性设置为 WPF 窗口.我该怎么做?

I have a WinForm dialog and I want to set its Parent property to a WPF window. How can I do this?

推荐答案

考虑将参数传递给 ShowDialog 方法,而不是使用 Parent 属性.

Consider passing parameter to ShowDialog method instead of using Parent property.

你可以写辅助类

class Wpf32Window : IWin32Window
{
  public IntPtr Handle { get; private set; }

  public Wpf32Window(Window wpfWindow)
  {
    Handle = new WindowInteropHelper(wpfWindow).Handle;
  }
}

public static class WindowExtensions
{
  public static IWin32Window GetWin32Window (this Window parent)
  {
    return new Wpf32Window(parent);
  }
}

之后你就可以写了

winFormsWindow.Show(yourWpfWindow.GetWin32Window());

这篇关于以 WPF 窗口为父级的 Winform 对话框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆