我有一个活动PropertyChangedEventHandler
,我这样举起来:
PropertyChanged(this, new PropertyChangedEventArgs("LogFile"));
PropertyChanged(this, new PropertyChangedEventArgs("Nodes"));
我也附上了它:
PropertyChanged += UpdateCamxWindowEvent;
只有在使用UpdateCamxWindowEvent
?
"LogFile"
我的代码应该改变什么?
答案 0 :(得分:3)
除非您创建了另一个事件,否则无法仅对某些参数执行特定方法。你应该做的是改变UpdateCamxWindowEvent
,这样它只有在参数为LogFile
时才会真正做某事。
如果你不能这样做或者在你的应用程序中逻辑上没有意义,你可以添加一个只测试参数的处理程序,如果它匹配,则调用方法:
PropertyChanged += (s, e) => { if (e.PropertyName == "LogFile") UpdateCamxWindowEvent(s,e); };
请注意,您无法从事件中取消订阅此匿名方法。如果您需要这样做,请使用具有相同功能的普通方法。
答案 1 :(得分:0)
如果您需要始终触发事件,可以检查事件处理程序方法中的事件处理程序参数值,以确定要调用的区域代码指令。