【发布时间】:2011-11-12 05:38:35
【问题描述】:
使用 ICommand 对象的 CanExecuteCommand 对性能有何影响。该方法是否一遍又一遍地执行?
我需要遍历大约 200 个对象的集合,根据这些对象决定是否应该启用绑定到命令的按钮? CanExecuteCommand 是否会重复执行,这会使我的应用程序变慢
【问题讨论】:
-
可以,但前提是您没有过早优化。
-
你的评论会不会有点模棱两可。
-
会,我也不太明白。我的验证是大约 200 个对象的迭代 - 树视图。它只是检查一个简单的属性,并且在运行一次时不会很耗时。我担心的是如果 CanExecute 被反复触发会使代码变慢。有人可以请点灯
-
Will 是这样说的:您在 CanExecute 中的代码不应该做太多事情,因为它确实可以经常被调用。但是你不应该只担心这个,如果这真的让你的程序变慢,即如果你可以测量由于对 CanExecute 的调用过多而导致的性能下降。
标签: wpf mvvm icommand relaycommand