在我的ViewModel我有一个ObservableCollection对象Person(实现INotifyPropertyChanged)和一个SelectedPerson属性。在我看来,这些绑定到一个 ListBox。
我的 ViewModel 中还有以下 Prism DelegateCommand:
Private DelegateCommand _myCommand = New DelegateCommand(CanExecute)
Public DelegateCommand MyCommand {get {return _myCommand;}}
Private Bool CanExecute()
{
Return (SelectedPerson.Age > 40);
}
每当SelectedPerson更改和SelectedPerson年龄更改时调用 MyCommand.RaiseCanExecuteChanged 的最优雅方式是什么?
在 setter 中添加和删除属性更改的处理程序SelectedPerson对我来说似乎有点混乱。