Forzare il refresh di tutte le proprietà con INotifyPropertyChanged
Scritto da
Marco Amendola il
venerdì 4 febbraio 2011
•
Linguaggio:
• 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