2

我已经设置了一个属性并实现了 INotifyPropertyChanged

像这样...

public event PropertyChangedEventHandler PropertyChanged;

public FlowProcess LastSelectedFlowProcess
{
    get { return _lastSelectedFlowProcess; }
    set
    {
        _lastSelectedFlowProcess = value;
        Notify("LastSelectedFlowProcess");
        UpdateFlows();
    }
}

private void Notify(string propName)
{
    if (PropertyChanged != null)
        PropertyChanged(this, new PropertyChangedEventArgs(propName));
}

我在其他类上使用了这种精确设置,但由于某种原因,在 Notify 方法中,PropertyChanged 变量返回 null。

在其他类中,当此方法起作用时,PropertyChanged 事件不为空并评估为委托?我在这里想念什么?

我从类内部调用公共访问器会有所作为吗?

4

2 回答 2

10

委托是否为空取决于是否有任何东西订阅了该事件。

于 2009-01-29T22:32:14.207 回答
1

添加此代码

event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
 add { this.PropertyChanged += value; }
 remove { this.PropertyChanged -= value; }
}
于 2010-10-19T07:43:09.780 回答