代码之家  ›  专栏  ›  技术社区  ›  jpsstavares

如何向WinForms应用程序添加WPF窗口

  •  7
  • jpsstavares  · 技术社区  · 14 年前

    我正在创建一个HUD窗口,用于检查WinForms应用程序中的业务实体。

    我想有一个完全不同风格的窗口(最小化内容区域,只显示标题栏,没有系统按钮等),所以我为此创建了一个WPF应用程序。

    问题是我希望这个窗口在我的WinForms应用程序中“活动”。我不能仅仅将WPF添加为OwnedForm或将主窗体设置为WPF窗口的所有者。

    那么,怎样才能做到这一点呢?

    编辑:感谢pst我找到了答案。以下是片段:

    System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(_inspector);
    WindowInteropHelper inspectorHelper = new WindowInteropHelper(_inspector);
    inspectorHelper.Owner = this.Handle;
    _inspector.Show();
    
    1 回复  |  直到 14 年前
        1
  •  6
  •   user166390 user166390    14 年前

    WPF窗口具有Win32窗口句柄/上下文。

    看到了吗 WindowInteropHelper

    但是,仅使用WinForms,您就可以根据需要自定义标题栏(您可以通过Win32覆盖图形本身,而且我认为您不需要走这么远就可以丢失所有控制框)。

    如果你使用正确的关键字,这个主题会有很多谷歌搜索结果。

    推荐文章