在WPF Button
中,我们有一个Command
参数,它可以绑定到ICommand
。WPF命令与事件触发命令
<Button Command="{Binding SomeCommand}"/>
我们也可以使用EventTriggers
与InvokeCommandAction
火一个ICommand
。
<Button>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding SomeCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
他们之间和什么时候使用哪些区别是什么?
更新:
我注意到在以下情况下区别:
- 我有这验证使用IValudationRule如果文本框为空,一个文本框。
- 我添加了MultiDataTrigger条件,当Validation.HasError等于true时,将保存按钮的IsEnabled属性设置为false。
使用按钮命令一切正常,但使用EventTrigger它不起作用。
有什么理由呢?
你确定交互库不会自动连接启用/禁用吗? –
嗯,不知道,但是你的意思是在点击偶数或任何其他事件的情况下连线?我不认为这是真的禁用控制,如果我绑定SelectedChanged事件例如 –