Forzare il refresh di tutte le proprietà con INotifyPropertyChanged

Scritto da  Marco Amendola il venerdì 4 febbraio 2011  •  Linguaggio: C#   • Livello: 100


Le classi che implementano l'interfaccia INotifyPropertyChanged (ad esempio, i ViewModel nelle applicazioni WPF e Silverlight costruite con pattern MVVM) possono avere la necessità di forzare l'aggiornamento di tutte le proprietà in un'unica soluzione.
Per far questo, e' sufficiente che scatenino l'evento PropertyChanged come di consueto, ma utilizzando String.Empty al posto del nome della proprietà nel costruttore di PropertyChangedEventArgs:

public class MyViewModel : INotifyPropertyChanged {

//...

public event PropertyChangedEventHandler PropertyChanged;

private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
private void Refresh()
{
NotifyPropertyChanged(string.Empty);
}

}


Tags: WPF,Silverlight,INotifyPropertyChanged,INPC

 
x