INotifyPropertyChanged PropertyChangedEventHandler événement est toujours null

J'ai mis en œuvre INotifyPropertyChanged une classe à la suivante

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

Lorsque le Symbole des changements de propriété de l'événement est déclenché avec pas de problèmes, mais l'événement PropertyChanged est toujours nulle, cette classe est instanciée qu'une seule fois, j'ai mis un point d'arrêt sur le constructeur pour s'assurer de son le cas.

Dans une autre classe, c'est la façon dont je m'y abonner:

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

Mais le maître est toujours la valeur null comme PropertyChanged est null. Une idée de comment le faire fonctionner?

Merci beaucoup.

Ce n'est pas de travail?
Votre code a l'air correct, je voudrais essayer de Data.Tables.FactoryItems.Symbol = "test"; à droite après le += ligne. Avec un Débogueur active.

OriginalL'auteur Maya | 2011-02-20

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *