【发布时间】:2013-07-16 16:41:04
【问题描述】:
我是 wpf 和交互性的新手。我正在尝试基于某些事件触发器执行命令。在下面的代码中,当触发双击事件时,调用 CanExecute 并返回 false,但仍调用执行函数。这是 invokecommandaction 的默认行为吗?我会认为当can execute返回false时,execute不会被调用。
<UserControl x:Class="..."
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding Path=DisplayReportCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
...
【问题讨论】:
-
是的,它确实使用了 canexecute,如果它返回 false,您的命令将不会被执行。我测试过了。