【发布时间】:2010-12-01 15:11:42
【问题描述】:
我正在将 MVVM 模式应用于一个项目。我有一个 UserControl,它有一个按钮,该按钮绑定到 ViewModel 公开的命令。 由于按钮是可见的,它不断地调用按钮的 CanExecute 方法。有些东西告诉我,这会带来性能损失,但我不确定。这是预期的行为吗?还是有更好的方法将按钮绑定到命令?
谢谢。
【问题讨论】:
-
为什么按钮一直在调用
CanExecute?默认情况下它不会这样做,只有在ICommand.CanExecuteChanged被提出时才应该这样做。 -
您使用的是什么类型的 ICommand?在 CanExecute 更新方面,不同的实现可能会有很大的不同。
-
我只是使用常规的 ICommand 接口。实际上是 RelayCommand 类,除了它使用委托注入来指定我的方法之外,并没有什么特别之处。
标签: wpf performance command canexecute