eventaggregator相关内容

Caliburn.Micro.使用 Autofac 为 IHandle 实现者自动调用 eventaggregator.Subscribe()

在 Caliburn.Micro 文档中,作者提到了这种可能性: 文档链接 IHandle 继承自标记接口 IHandle.这允许使用强制转换来确定对象实例是否订阅了任何事件.如果您与 IoC 容器集成,这将启用简单的自动订阅.大多数 IoC 容器(包括 SimpleContainer)都提供了一个在创建新实例时调用的钩子.只需连接容器的回调,检查正在创建的实例是否实现 IHandle ..
发布时间:2021-11-30 20:03:33 其他开发

winforms MVP 应用程序中的自定义事件聚合器

我决定为我正在编写的 winforms MVP 应用程序构建我自己的事件聚合器.目的是允许视图(用户控件)订阅来自模型的事件,否则模型拥有它们的视图. 问题是;既然应该有一个通用的事件聚合器,并且只有在编写应该交互的用户控件的应用程序时才需要聚合器,那么暴露事件聚合器的最佳方式是什么? 到目前为止我的建议: 我认为注入它会很麻烦,因为所有用户控件都必须有一个 IEventAggr ..
发布时间:2021-06-04 20:50:43 C#/.NET

使用事件聚集器在UserControls之间导航

我有一个MainWindow,通过单击菜单可以在UserControl之间导航, 我正在使用以下模式: https://rachel53461.wordpress.com/2011/05/08/simplemvvmexample/ 在这些用户控件之一中,有一个按钮.通过单击此按钮,我想导航到另一个用户控件. 我该怎么做? MainView ..
发布时间:2020-06-14 18:36:39 C#/.NET

是否需要针对WPF应用程序的特定体系结构解决方案,这些解决方案需要将刷新的数据从模型主动推送到视图?

作为MVVM和SOLID开发的新手,我正在开发一个小型WPF应用程序,但我意识到我的应用程序在某些方面是非常规的: 我的所有Model数据都需要通过轮询(每秒一次)或利用回调函数(例如,使用Shell钩子和Automation事件)进行非常频繁的刷新. 所有刷新的数据都需要立即推送到“视图". 视图严格是数据的显示;它没有公开任何数据突变功能. 当前,我正在使用以下标准MVVM/D ..
发布时间:2020-06-14 18:36:34 C#/.NET

WPF PRISM事件订阅不会消失

我有一个PRISM RegionManager,它具有几个区域-顶部是一个Ribbon区,下面是我的视图的主要内容区域-相当基本. 该应用程序从主要内容区域中的“主页"视图开始.单击功能区上的按钮时,我将第二个视图注入到内容区域中,并在区域管理器中导航到该区域.当我单击该视图上的按钮时,应将其删除并显示原始视图. 我目前正在使用RegionManager.Add()方法手动添加第二个视 ..
发布时间:2020-06-14 18:36:28 其他开发

在事件聚合器中将枚举与事件类混合

我最近尝试实现自己的简单事件聚合器.我从MSDN上的事件聚合器文章中获得了很多启发.关于MSDN上的事件聚合器,我注意到一件事,即事件实际上是它们自己的类.这根本不是一件坏事.但是,我发现总是为每个小事件创建一个新的空类很尴尬. 我觉得很尴尬的原因是因为需要为每个颗粒事件创建一个类.例如,鼠标单击事件将具有double_click,single_click,left_click,right_ ..
发布时间:2020-06-14 18:36:26 C#/.NET

Caliburn.Micro EventAggregator

如果这是一个非常愚蠢的问题表示歉意,但是我才刚刚开始使用caliburn.micro,并且我在努力获取eventAggregator时,似乎没有任何订阅... 我不确定问题出在视图模型还是引导程序.这是视图模型: class MainWindowViewModel : Screen { private readonly IEventAggregator _eventAggreg ..
发布时间:2020-06-14 18:36:23 C#/.NET

在将对象作为有效负载的视图模型之间使用Prism 6 Event Aggregator

嗨,我希望你们中的一个能帮我一些语法. 因此,我正在关注以下示例 https://www.codeproject.com/Tips/591221/Simple-EventAggregator-in-WPF-PRISM 有关使用Prism Event Aggregator将消息从一个ViewModel发送到另一个ViewModel的信息. 下面的代码在发布单个字符串作为有效负载时非常有用 ..
发布时间:2020-06-14 18:36:21 C#/.NET

如何在UIThread上测试Prism事件聚合器订阅?

我有一个类,该类通过PRISM事件聚合器订阅事件. 由于要模仿此处那样的事件聚合器有些困难,因此 a>,我只是实例化一个真实的实例,然后将其传递给被测系统. 然后在测试中,我通过该聚合器发布事件,然后检查被测系统对该事件的反应.由于该事件将在生产期间由FileSystemWatcher引发,因此我想通过订阅UIThread来利用自动分派,因此一旦引发该事件,我就可以更新我的UI. ..
发布时间:2020-06-14 18:36:19 其他开发

EventAggregator与CompositeCommand

我在Prism指南中一直努力工作,并认为我对他们的大多数沟通工具有所了解. 命令非常简单,因此很显然DelegateCommand仅用于将视图与其模型连接. 关于跨模块通信,特别是何时在复合命令上使用EventAggregation,还不太清楚. 例如,实际效果是相同的. 您发布活动->所有订阅者都会收到通知并执行代码以作为响应 您执行复合命令->所有已注册的命令都将被执 ..
发布时间:2020-05-10 20:44:21 其他开发

View,ViewModel和DataContext

为了解决我的应用程序中的导航问题,我使用了Event Aggregator(事件聚合器),它可以解决该问题,但是又创建了另一个. 要在不同的UserControls之间导航,我使用了Rachel的代码,您可以找到在屏幕的一侧,我有一个主菜单(HomeViewModel()),通过单击在UserControl之间切换的项目,在每个UserControl中都有另一个菜单栏,可在其中切换其他Use ..
发布时间:2020-05-10 19:21:05 C#/.NET

Caliburn.Micro.使用Autofac自动为IHandle实现者调用eventaggregator.Subscribe()

在 Caliburn.Micro 文档中,作者提到了这种可能性: 文档链接 IHandle继承自标记接口IHandle.这允许使用强制转换来确定对象实例是否订阅了任何事件.如果您与IoC容器集成,则可以进行简单的自动订阅.大多数IoC容器(包括SimpleContainer)都提供一个在创建新实例时被调用的钩子.只需连接容器的回调,检查正在创建的实例,看看它是否实现了IHandle,如 ..
发布时间:2020-05-09 01:33:31 其他开发

Prism - EventAggregator.GetEvent<> .Subscribe() - 使用泛型&约束上

如果我使用诸如的某些东西b $ b eventAggregator.GetEvent()。订阅(MyMethod) 然后它一切正常,当事件被发布时,我的方法被触发。 然而,当移动到更复杂除了I字符串以外的对象我遇到了问题。 我有一堆类都来自接口(IRequest),例如 我有我的事件类设置如下 public class ..
发布时间:2018-04-21 19:57:00 C#/.NET

复合WPF EventAggregator订阅丢失

在我的Composite WPF应用程序中,当用户双击控件时,我发布了一个事件。模块订阅该事件并在必要时执行操作。 此事件似乎随机停止工作。有时,当我运行应用程序时,我可以触发事件没有问题,其他时候,我只能触发它几次,在模块停止接收事件之前。 当我在调试器中查看CAL EventAggregator 仍然有事件,但事件没有订阅。 解决方案 事实证明,垃圾收集器删除订阅。我必须在 ..
发布时间:2017-08-31 09:22:33 开发方法

Caliburn.Micro和事件聚合器 - 调用句柄方法

我的方案是: Messenger屏幕,它是主屏幕,在聊天屏幕上发布,它们是从屏幕。 Messenger视图模型句柄与来自服务器的消息。 聊天屏幕可以在信使屏幕上发布消息。并且messanger视图模型在服务器上发送此消息。 Messenger类看起来像这样: [导出(“MessengerScreen”,typeof(IMessengerViewModel))] pu ..
发布时间:2017-08-31 08:05:36 开发方法