0

有人看过 Laurent Bugnion 在 MIX10 上的精彩演示吗?如果你喜欢 MVVM-light,我会称之为必看,我确实有一个我无法弄清楚的问题......在使用 RelayCommand 的演示中,他做了两个示例 - 一个我们实现 Icommand 本身还有一个使用 MVVM Light 的 RelayCommand。在第二个示例中,他特别指出,当 Counter 属性更改时,您需要在 SayHello 命令中调用 RaiseCanExecuteChanged。但我评论了这一点,它的工作原理......

抱歉 - 你必须熟悉演示才能得到这个问题,但我希望有人可能......我也希望有人能解决这个问题 - 我似乎不知道为什么我们需要做他所说的原因否则它工作得很好。

谢谢!!!

4

1 回答 1

0

我无法谈论驱动这一点的特定内部布线,所以请记住我的评论。

我相信数据绑定会定期(有时​​是智能地)重新查询 ICommand 的 CanExecute 方法。调用 RaiseCanExecuteChanged 是确保按钮尽快重新查询它的一种方式。

如果其他人可以解释按钮何时决定何时重新查询,我也很想知道。

于 2010-11-02T00:27:35.513 回答