0
我有一個名爲EmployeeViewModel的ViewModel,它是從ViewModelBase繼承而來的。這裏是ViewModelBase的實現。PropertyChangedEventHandler在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));
}
}
}
我EmployeeViewModel有一個屬性名稱GridResults,這勢必會在視圖中格,這裏是屬性定義。
public PagedCollectionView GridResults
{
get { return _gridResults; }
set
{
_gridResults = value;
FirePropertyChanged(()=>GridResults);
}
}
現在,當我在EmployeeViewModel代碼某處設置GridResults的值時,它觸發該屬性變化事件,並進入
FirePropertyChanged(式> propertySelector)
但是該方法其PropertyChangedEventHandler內部始終保持爲空,並阻止方法的完整執行。最終,我的Grid on View仍未被注意到其基礎項目源已被更改。
我錯過了什麼?
Thankx提前
-K9