Я реализовал INotifyPropertyChanged для следующего класса
public class FactoryItems : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
string symbol;
public string Symbol
{
get { return symbol; }
set { symbol = value; OnPropertyChanged("Symbol"); }
}
public FactoryItems()
{
}
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
Когда свойство Symbol изменяет событие без проблем, но событие PropertyChanged всегда пустое, этот класс создается только один раз, я установил точку остановав конструкторе, чтобы убедиться, что это так.
В другом классе я подписываюсь на него следующим образом:
Data.Tables.FactoryItems = new Data.FactoryItems();
Data.Tables.FactoryItems.PropertyChanged +=
new System.ComponentModel.PropertyChangedEventHandler(FactoryItems_SymbolChanged);
void FactoryItems_SymbolChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
doSomething();
}
Но обработчик всегда равен null, поскольку PropertyChanged равен null.Любая идея, как заставить это работать?
Большое спасибо.