【问题标题】:WPF User Control in WinFORMS: Project StructuringWinFORMS 中的 WPF 用户控件:项目结构
【发布时间】:2013-02-05 11:12:59
【问题描述】:

场景

我决定为我的新应用程序开发 WPF 技术。此应用程序必须在 WinForms 窗口中单击菜单时调用。因此,我创建了一个 WPF 用户控件库并将其集成到使用 Element Host 的父 WinForms 表单中显示。

我的申请

它包含 3 个子用户控件,它们被封装在另一个带有 tabContent 控件的用户控件中。我更喜欢这种方法,因为从 Child UserControl 触发事件并在 WinForms 中处理(订阅事件)似乎很痛苦。

我的问题

现在面临着访问 Winforms 中的 UserControl 元素的同样痛苦的任务,我出于适当的项目结构原因在其中创建了 Data Manager 类(UserControl 不应包含 Data Manager 类 UI)。请指导我如何构建我的项目/如何订阅事件/访问 WPF 中的 WPFUserControl 元素。

【问题讨论】:

    标签: c# .net winforms wpf-controls winforms-interop


    【解决方案1】:

    看看MVVM Light Toolkit的Messenger类(也可以单独使用)。它有助于解耦您的控件。信使使用发布/订阅模式。您的 WPF 用户控件可以发布对象,WinForms 主机可以监听这些通知。交换的消息(对象)最好放在单独的程序集中,因为它们定义了 WPF UC 库和 WinForms 应用程序之间的共享契约。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2011-05-19
      • 2014-03-24
      相关资源
      最近更新 更多