2012-09-27 2 views
1

Dans WPF, est-il recommandé de vérifier si la valeur de la propriété d'un modèle sera réellement modifiée dans un ensemble de propriétés avant d'appeler NotifyPropertyChanged?Vérifiez si la valeur a réellement été modifiée dans le paramètre de propriété WPF?

Par exemple:

private string foobar; 

    public string Foobar 
    { 
     get 
     { 
      return this.foobar; 
     } 

     set 
     { 
      if (value != this.foobar) 
      { 
       this.foobar = value; 
       this.NotifyPropertyChanged("Foobar"); 
      } 
     } 
    } 

L'alternative est de ne pas vérifier et il suffit d'appeler NotifyPropertyChanged chaque fois:

private string foobar; 

    public string Foobar 
    { 
     get 
     { 
      return this.foobar; 
     } 

     set 
     { 
      this.foobar = value; 
      this.NotifyPropertyChanged("Foobar"); 
     } 
    } 

J'ai vu les deux styles utilisés dans des échantillons de code. Quels sont, le cas échéant, les avantages et les inconvénients de chaque approche?

+0

Je viens de voir qui a déjà été posé la même question: http://stackoverflow.com/questions/2623697/should-a-setter-return-immediately- si-assigné-la-même valeur –

Répondre

4

Je fais toujours la vérification parce que l'événement semble impliquer qu'un changement réel aurait dû se produire.

(En outre, il empêche les mises à jour inutiles)

Questions connexes