【发布时间】:2015-10-29 16:12:41
【问题描述】:
我有一个 Wpf MVVM 轻应用程序,其中有这段代码
查看
<CheckBox IsChecked="{Binding Hebergement, Converter={StaticResource NullToFalse}}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<cmd:EventToCommand Command="{Binding HebergementCommand}" PassEventArgsToCommand="True"></cmd:EventToCommand>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked ">
<cmd:EventToCommand Command="{Binding HebergementCommand}" PassEventArgsToCommand="True"></cmd:EventToCommand>
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
视图模型
public RelayCommand<RoutedEventArgs> HebergementCommand { get; set; }
HebergementCommand = new RelayCommand<RoutedEventArgs>((e) =>
{
PropertyInfo IsChekedInfo = e.Source.GetType().GetProperty("IsChecked");
bool isChecked = (bool)IsChekedInfo.GetValue(e.Source, null);
Hebergement = isChecked;
});
问题是Checked 事件被触发但Unchecked 不是!!
我需要知道:
- 这个问题的原因是什么?
- 我该如何解决?
谢谢,
【问题讨论】:
-
EventName="Unchecked "去掉event名字后面的空格
标签: c# .net wpf mvvm mvvm-light