问题标签 [eventaggregator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - Wpf MVVM UI 不更新实现模块化,事件聚合器
我目前正在使用 prism IEventAggregator 在不同模块的两个视图之间试验 wpf 通信。发布模块和订阅模块工作正常,由于某种原因,我不明白为什么订阅者 UI 没有更新。我在订阅者模块上放置了一个按钮来显示一个 msgbox,以确保它接收到它并且它确实接收到它。我认为我正确实施了 INotifyPropertyChanged。
如果我将订阅放在订阅者视图的代码隐藏中,它可以按我的意愿工作....我做错了吗?请纠正我。谢谢。
用于模块消息传递的单独类。这门课来自这篇文章 http://www.shujaat.net/2010/12/wpf-eventaggregator-in-prism-40-cal.html
出版商:
订户:
订阅者查看代码隐藏
以及显示消息的绑定部分
c# - 在松散耦合的模块棱镜之间共享动态对象?
是否可以在没有任何静态引用或任何其他 DI/IoC 解决方案dynamic
的情况下在其他模块之间共享来自模块的类型对象?interface
假设我们在汇编中有一个这样的 GlobalEvent Core.dll
:
并在ModuleA.dll
(具有对 的静态引用Core.dll
)中,像这样发布它:
并在ModuleB.dll
(具有对 的静态引用Core.dll
)中,像这样订阅:
出色地,
这种解决方案有什么缺点?甚至可能吗?如果是,它是否支持由 .NET 中的任何其他 CLR 语言创建的模块?
提前致谢 :)
system.reactive - 反应式扩展中缺少方法
我正在尝试使用 RX(Reactive extensions) 实现事件聚合器,这是我正在使用的代码,但 缺少subject.AddDisposable方法。谁能帮我?也许它是旧版本所以在新版本的 Rx 中这个方法被删除了?如果是这种情况,那么实现这一点的正确方法是什么?
ipad - TinyMessenger 和 Monotouch
我正在尝试在我的 iPad 应用程序中使用 TinyMessenger。iPad 应用程序的 UIViewController 很少。我想通过 TinyMessenger 看到这些控制器之间的通信。我将步骤理解为
第 1 步 - 创建消息中心 [ ? ]
第 2 步 - 发布消息 [在 UIViewController1 中]
第 3 步 - 订阅消息 [在 UIViewController2 中]
MyMessage 定义如下
请告知这是否是使此设置正常工作的正确步骤。而且我不知道应该在哪里创建messagehub。我相信 messagehub 必须是全局的,以便任何 UIViewController 都可以访问它。我可以在 AppDelegate 中创建 messagehub 吗?如果在 AppDelegate 中创建 messagehub,如何从 UIViewController1 访问 messagehub?
感谢任何帮助。
prism - 条件操作的事件聚合器
我参与了 WPF Prism 应用程序的开发,该应用程序使用事件聚合器发送全局类型消息,然后由 shell 接收。例如,一个视图模型可能希望显示一条 toast 消息,但并不真正关心它是如何显示的。在这种情况下,shell 将被设置为处理这些事件并在应用程序范围内对它们进行操作。
我的问题是,如果一个特定的视图想要以不同的方式显示 toast 消息,你该怎么做。我喜欢全局方法,因为它非常简单,但是如何针对特殊情况进行自定义呢?
wpf - 如何区分 Prism 事件的调用者?
我正在使用 Prism 的事件聚合器,并从我的复合控件中发布一个事件。但是,如果开发人员在同一个表单上使用了两个控件实例,那么订阅者如何区分这些事件呢?最佳做法是什么?
谢谢你。
wpf - 如何使用 EventAggregator 和 Microsoft Prism 库从订阅的方法返回数据
我正在使用 MVVM 和Microsoft Prism libraries
. 因此,当我需要通过类进行通信时,我使用类Microsoft.Practices.Prism.MefExtensions.Events.MefEventAggregator
并发布事件和订阅方法,如下所示:
要发布:
myEventAggregator.GetEvent<MyEvent>().Publish(myParams)
认购:
myEventAggregator.GetEvent<MyEvent>().Subscribe(MySubscribedMethod)
但我的问题是:有没有办法在发布事件后从“订阅方法”返回一些数据?
c# - 使用来自另一个类的 EventAggregator 刷新 Window 的 ViewModel 中的属性
所以..我有一些核心课程。当它正在加载一些模块时,我正在尝试使用 EventAggregator.GetEvent().Publish() 向状态窗口发送一些通知。状态窗口显示:
StartProgressWindow 是启动状态窗口事件的地方,InitializeCore 方法是加载所有模块的地方。
状态通知发送:
和订户:
状态属性:
捆绑:
而且,实际上,问题是:
属性随我发送到的所有状态而变化。但它并没有反映在 UI 上,它是 forzen。我在 ViewModel 类的构造函数中将 Status-property 的值设置为“Some string”,当然它反映得很好。我做错了什么?谢谢,帕维尔!
c# - 带有导体和事件聚合器的分层导航
这是我的应用程序架构。请注意,我有指挥作为另一个指挥的孩子。我为每个导体设置了 IHandle 以接收来自它的孩子的消息。消息类型与我使用消息只是导航相同。我的问题是我将 ShellView 的 EventAggregator 传递给它的孩子。
NewConnectionView 的 EventAggregator 怎么样?因为我使用它的 EventAggregator 在 ShellView 上导航。并且它的孩子们可以在它的 ActiveItem 上导航。
如何在一个 ViewModel 中分离这 2 个 EventAggregator。
ShellView & NewConnectionView ==> Conductor.Collection.OneActive
目前,我的方法是使用 NewConnectionShellView (Screen) 作为 NewConnectionView 的 (Conductor) 父级来分离 EventAggregator。但问题是,我无法将 NewConnectionView 的子项的 DisplayName 显示到我的主窗口(ShellView)中。
请注意,我没有使用 MEF。我的问题有什么解决方法吗?
c# - 当由事件聚合器引发时,如何限制事件订阅的数量?
我需要限制使用事件聚合器引发的事件的订阅数量,我该如何实现?