WinFORMS中的WPF用户控件:项目结构

本文关键字:项目 结构 控件 用户 中的 WPF WinFORMS | 更新日期: 2023-09-27 17:57:48

场景

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

我的应用程序

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

我的问题

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

WinFORMS中的WPF用户控件:项目结构

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