如何从 Prism EventAggregator 更改 属性

How to change a property from Prism EventAggregator

目前,来自 Prism 的 EventAggregator 只接受一个动作,即:

_eventAggregator.GetEvent<Message>().Subscribe(Method);

public void Method(string s) { Property = s; }

如何让它改变 属性,而不是调用方法来改变它?

你不能,它需要通过设计来调用一个方法。您也许可以使用 lambda 来模拟设置 属性 的效果(现在不在机器前,我无法尝试),但它仍在调用引擎盖下的方法。

_eventAggregator.GetEvent<Message>().Subscribe(s => Property=s));

根据 Documentation

使用 event.Unsubscribe() 完成消息处理程序后注销消息处理程序也是一个好习惯