【问题标题】:C# Combine WinForm with WPFC# 结合 WinForm 和 WPF
【发布时间】:2017-06-21 18:38:44
【问题描述】:

我在 WPF 中创建了一个分成两列的网格。 然后我需要在 WinForm 中访问这个网格(需要在两列内插入在 WinForm 中创建的对象)。

如何从 WinForm 访问网格?

注意:我有来自 WPF 的窗口的 句柄

ActiveMapCoreView = new MapCoreView(**Handle**, strPath);

谢谢! (:

【问题讨论】:

  • WPF 不使用句柄,因为它不使用GDI。您需要在 WinForm Window 中公开这些元素,并在 xaml 视图后面的代码中访问这些元素。附言避免组合 WinFromsWPF 只需将 WinForm 窗口转换为 XAML 和 MVVM。

标签: c# wpf winforms grid


【解决方案1】:

如果要混合使用 winform 和 WPF,可以使用 ElementHost 类将 WPF 控件托管在 winform 中。

你可以找到一个例子here

【讨论】:

    【解决方案2】:

    您可以使用ElementHost 混合使用 WinForms 和 WPF。这个walkthrough 将指导您完成整个过程。这个question 和这个article 也值得一看。

    在相关说明中,如果您的 UI 主要是 WPF/WinForms,那么将所有内容移植到该格式可能会更容易、更一致、更长期。

    【讨论】:

      猜你喜欢
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      相关资源
      最近更新 更多