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 イベントは null ではなく、デリゲートに評価されますか? ここで何が欠けていますか?

クラス内から public アクセサーを呼び出していますが、違いはありますか?

4

2 に答える 2

10

デリゲートが null であるかどうかは、何かがイベントにサブスクライブしているかどうかによって異なります。

于 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 に答える