如何将 Checkbox.checked 路由事件转换为 MVVM 模式的命令?
参考-考虑按钮单击路由事件,当我们为按钮分配命令时,button.click 事件被视为命令。它执行相应的命令。
我用谷歌搜索了它,我得到了 EventBehaviourFactory 的解决方案。不使用EventBehaiourFactory是否可以?
这是 WPF 中的常见要求。最广泛使用的解决方案是使用Interactivity
来自混合SDK http://www.microsoft.com/download/en/details.aspx?id=10801:
将此 xmlns 命名空间添加到您的 xaml 中:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
然后你可以这样做:
<CheckBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding MyCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
当然,你需要添加系统.Windows.Interactivity.dll到你的项目,位于(至少对我来说):C:\Program Files (x86)\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\WPF\System.Windows.Interactivity.dll
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)