几个(新手)问题:试图了解INotifyPropertyChanged的
1)我看到了很多的
public Person SelectedPerson { get; set; }
我假定这不火属性的变化?
所以,如果我想这样做,我必须提供以下内容?
private Person selectedPerson;
public Person SelectedPerson
{
get
{
return this.selectedPerson;
}
set
{
if ((this.selectedPerson != value))
{
this.selectedPerson = value;
base.OnPropertyChanged("SelectedPerson");
// Note: Using ViewModelBase
}
}
}
2)如果我有以下几点:
public bool CanDeletePerson
{
get
{
return SelectedPerson != null;
}
}
,并在XAML
< Button IsEnabled="{Binding CanDeletePerson}"
Command="{Binding DeletePersonCommand}"> Delete </ Button >
我如何得到它的重新评估CanDeletePerson财产? 基本上,它最初是禁用的,但是当我点击网格并将行移动到行时,SelectedPerson被更新,但CanDeletePerson没有得到更新的值,那么我如何才能再次检查值?
3)我看到
...取决于是否有任何订阅
你如何订阅事件的事件?
+1你迟了,但我喜欢你的答案的组织。 – 2009-08-11 03:04:59
请参阅http://stackoverflow.com/questions/1329138/how-to-make-databinding-type-safe-and-support-refactoring/1333874#1333874了解编译器检查实现INotifyPropertyChanged的方式。 – 2009-08-26 11:55:41