在哪里调用RaiseCanExecuteChanged?

时间:2012-02-22 21:12:05

标签: mvvm mvvm-light relaycommand

我正在使用MVVM Light Toolkit,我想创建一个RelayCommand

如果我的ViewModel有一些String属性,哪些属性在setter中调用RaiseCanExecuteChanged,那么一切正常,命令可以在我想要的时候执行。

但是,如果我更改代码,我创建了一个Model类X,它包含所有这些属性,ViewModel包含一个类型为X的属性,我应该在哪里调用RaiseCanExecuteChanged?在Model类中没有意义,并且不调用ViewModel中的X的setter。

1 个答案:

答案 0 :(得分:4)

您可能需要订阅Model类PropertyChanged事件,并在模型属性更改时引发RaiseCanExecuteChanged。