PropertyChangedEventHandler INotifyPropertyChanged event ist immer null

Habe ich INotifyPropertyChanged implementiert, um die folgende Klasse

 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));
            }
        }
    }

Wenn das Symbol-Eigenschaft ändert, das Ereignis löst keine Probleme, aber das PropertyChanged-Ereignis ist immer null, wird diese Klasse instanziiert einmal nur, legte ich einen breakpoint auf den Konstruktor, um sicherzustellen, seine der Fall.

In einer anderen Klasse, das ist, wie ich ihn abonnieren:

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();
}

Aber die hf ist immer null als PropertyChanged null ist. Jede Idee, wie dies funktioniert?

Vielen Dank.

Was nicht funktioniert?
Dein code sieht OK aus, ich würde versuchen Data.Tables.FactoryItems.Symbol = "test"; direkt nach der += Linie. Mit einem Debugger aktiv.

InformationsquelleAutor Maya | 2011-02-20

Schreibe einen Kommentar