wpf - 以 WPF 窗口为父级的 Winform 对话框

标签 wpf winforms

我有一个 WinForm 对话框,我想将其 Parent 属性设置为 WPF 窗口。
我怎样才能做到这一点?

最佳答案

考虑将参数传递给 ShowDialog方法而不是使用 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 - 以 WPF 窗口为父级的 Winform 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7822164/

相关文章:

wpf - 使用MVVM在WPF中选择列表框的项目

wpf - 如何将旋转的 TextBlock 锚定到顶部?

c# - WPF中的GroupBox只能包含一个元素?

wpf - 我如何制作一个在单击鼠标时闪烁/淡出的控件? ( window )

c# - 为什么 TextBlock 不绑定(bind)?

C# 如何禁用 webbrowser 使用

c# - 从 PostCode 获取经度和纬度

c# - 需要帮助修复贪吃蛇游戏中的错误

.net - 确定加载的程序集

c# - 仍然可以改变物体的值(value)