如何从 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));
使用 event.Unsubscribe()
完成消息处理程序后注销消息处理程序也是一个好习惯
目前,来自 Prism 的 EventAggregator 只接受一个动作,即:
_eventAggregator.GetEvent<Message>().Subscribe(Method);
public void Method(string s) { Property = s; }
如何让它改变 属性,而不是调用方法来改变它?
你不能,它需要通过设计来调用一个方法。您也许可以使用 lambda 来模拟设置 属性 的效果(现在不在机器前,我无法尝试),但它仍在调用引擎盖下的方法。
_eventAggregator.GetEvent<Message>().Subscribe(s => Property=s));
使用 event.Unsubscribe()
完成消息处理程序后注销消息处理程序也是一个好习惯