在wpf应用程序中触发未经检查的事件

时间:2015-10-29 16:12:42

标签: c# .net wpf mvvm mvvm-light

我有一个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不是!!

我需要知道:

  1. 这个问题的原因是什么?
  2. 我该如何解决?
  3. 谢谢,

1 个答案:

答案 0 :(得分:1)

问题似乎与你的事件名称有关,从“未选中”中删除额外的空格可以解决问题。