J'ai un viewmodel nommé EmployeeViewModel qui est hérité de ViewModelBase. voici l'implémentation de ViewModelBase.PropertyChangedEventHandler est null dans FirePropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void FirePropertyChanged(string propertyname)
{
var handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyname));
}
public void FirePropertyChanged<TValue>(Expression<Func<TValue>> propertySelector)
{
if (PropertyChanged != null)
{
var memberExpression = propertySelector.Body as MemberExpression;
if (memberExpression != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(memberExpression.Member.Name));
}
}
}
Mon EmployeeViewModel a un nom de propriété GridResults, qui est lié à la grille View, voici la définition de la propriété.
public PagedCollectionView GridResults
{
get { return _gridResults; }
set
{
_gridResults = value;
FirePropertyChanged(()=>GridResults);
}
}
Maintenant, quand je mets la valeur de GridResults quelque part dans le code EmployeeViewModel, il déclenche l'événement de changement de propriété et va dans
FirePropertyChanged (Expression> propertySelector)
mais à l'intérieur de cette méthode son PropertyChangedEventHandler reste toujours nul et empêche l'exécution complète de la méthode. En fin de compte, ma Grid on View reste inaperçue que ses sources sous-jacentes ont été modifiées.
Ai-je raté quelque chose ??
Thankx à l'avance
-K9