C# 不动产变更';特效吸气剂
我有这样一个代码部分:C# 不动产变更';特效吸气剂,c#,visual-studio-2010,inotifypropertychanged,C#,Visual Studio 2010,Inotifypropertychanged,我有这样一个代码部分: NotifyPropertyChanged("SelectLevelEnabled"); NotifyPropertyChanged("Plate"); 我原以为这会最终调用SelectLevelEnabled和Plate的getter,但它只调用Plate getter。我尝试了将SelectLevelEnabled更改为另一个名称,但它仍然没有调用getter 我的PropertyChanged实现如下所示,它始终运行良好: public event Propert
NotifyPropertyChanged("SelectLevelEnabled");
NotifyPropertyChanged("Plate");
我原以为这会最终调用SelectLevelEnabled和Plate的getter,但它只调用Plate getter。我尝试了将SelectLevelEnabled更改为另一个名称,但它仍然没有调用getter
我的PropertyChanged实现如下所示,它始终运行良好:
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
SelectLevelEnabled属性是:
public bool SelectLevelEnabled
{
get
{
return SelectedStatus != null && SelectedStatus.Id == DB_Status_Types.Dentro;
}
}
我试过:
- 切换到发布/调试
- 向SelectLevelEnabled添加setter
- 将NotifyPropertyChanged(“Plate”)更改为其他属性和所有操作似乎都有效。问题在于SelectLevelEnabled
Application.Current.Dispatcher.BeginInvoke((Action)(() => { MyProperty = newValue; }, new object[] { }); // method parameters go in the object array initializer.
有人在听这些变化吗?不是。。。我注意到了这个问题并添加了答案。这是正确的。若并没有绑定视图,那个么当数据发生更改时,框架就并没有理由通知视图。