【发布时间】:2015-04-22 13:34:00
【问题描述】:
我有一个这样设置的 CheckBox:
<CheckBox x:Name="ViewTypeCheckbox" IsChecked="{Binding ViewType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding Refresh}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
它按预期运行。当通过鼠标单击选中或取消选中时,该命令会在 ViewModel 中触发。
您会看到复选框被数据绑定到一个 bool 属性(“ViewType”),该属性会定期从 true 变为 false,反之亦然以响应用户输入。
问题是我需要 EventTrigger 在被 ViewModel 选中或取消选中时触发。
我尝试将“EventName”更改为“Checked”、“IsChecked”和“UnChecked”,但这似乎没有任何作用。
我需要实现任何其他代码吗?我该如何让它发挥作用?
【问题讨论】:
-
如果虚拟机正在控制 ViewType,为什么不能只调用 Refresh() 本身?
-
可以帮助Link
-
@GazTheDestroyer 好吧,你看到有问题的命令不存在于任何 VIewModel 中。它实际上位于程序集中。我只是认为如果我放 Refresh 会更容易解释,或者让人们了解总体思路。我真正需要执行的是命令; NavigationCommands.GoToPage