2009-01-29 9 views
2

Я имею установку свойства и реализовать INotifyPropertyChangedWPF Реализация 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 и вычисляет делегат? Что мне здесь не хватает?

Я вызываю публичный аксессуар изнутри класса, это может изменить ситуацию?

ответ

10

Независимо от того, является ли делегат нулевым или нет, зависит от того, подписано ли какое-либо событие на мероприятие.

1

добавить этот код

event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged { 
add { this.PropertyChanged += value; } 
remove { this.PropertyChanged -= value; } 
}