0
在我使用MVVM的WPF应用程序中,我注意到在某些情况下,命令的CanExecute部分没有被调用,所以我想知道什么时候调用这种方法?在任何情况下都不会调用CanExecute命令的一部分。什么确定它?
在我使用MVVM的WPF应用程序中,我注意到在某些情况下,命令的CanExecute部分没有被调用,所以我想知道什么时候调用这种方法?在任何情况下都不会调用CanExecute命令的一部分。什么确定它?
CanExecute
由控件调用时,它是通过提高CanExecuteChanged
event告诉,如何准确控制处理Commands
由他们(它们例如也再次调用它时,CommandParameter
的变化),但如果你希望他们重新评估CanExecute
你应该手动启动事件。
感谢您的回答......我感觉我的MVVM应用程序比以前使用MVVM变得更加复杂,但我无法真正制定一个简单的问题如何解决这个问题。 – 2012-03-31 23:55:23
@MichelKeijzers:MVVM确实有一些开销,但是它可以带来回报。另外一些MVVM框架比其他框架更好地处理某些区域。 – 2012-03-31 23:56:30
是的,我知道...直到现在,我认为它比缺点更具优势,尽管我的应用程序并不完全适用于MVVM(因为它有很多内存映射数据而不是独立变量来执行)。 – 2012-04-01 00:04:55