2015-05-01 7 views
0

У меня есть флажок внутри элемента ItemsControl. Он имеет EventTrigger как для Checked, так и для UnChecked событий. Он также связан с Command с несколькими CommandParameters. Событие Checked срабатывает просто отлично.WPF CheckBox UnCheck Event Not Firing

Однако событие UnChecked не срабатывает. Что мне не хватает?

<ItemsControl Grid.Column ="2" 
        Grid.Row ="0" 
        ItemsSource ="{Binding ParameterOptionGroup.ParameterOptions}"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Horizontal"/> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <CheckBox IsChecked="{Binding State, Converter={StaticResource BoolToEntityState}, Mode=OneWay}"> 
        <trigger:Interaction.Triggers> 
         <trigger:EventTrigger EventName="Checked"> 
          <trigger:InvokeCommandAction Command ="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, 
                  Path=DataContext.InitiateParameterAnswer}"> 
           <trigger:InvokeCommandAction.CommandParameter> 
            <MultiBinding Converter="{StaticResource GuidAndParameterOptionToTuple}"> 
             <Binding Path="DataContext" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type CheckBox}}"></Binding> 
             <Binding Path="DataContext.Id" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}"></Binding> 
             <Binding Path="Text" ElementName="txtRemarks" /> 
             <Binding Source="True" /> 
             <Binding Source="10" /> 
            </MultiBinding> 
           </trigger:InvokeCommandAction.CommandParameter> 
          </trigger:InvokeCommandAction> 
         </trigger:EventTrigger> 
        </trigger:Interaction.Triggers> 
        <trigger:EventTrigger EventName="UnChecked"> 
         <trigger:InvokeCommandAction Command ="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, 
                  Path=DataContext.InitiateParameterAnswer}"> 
          <trigger:InvokeCommandAction.CommandParameter> 
           <MultiBinding Converter="{StaticResource GuidAndParameterOptionToTuple}"> 
            <Binding Path="DataContext" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type CheckBox}}"></Binding> 
            <Binding Path="DataContext.Id" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}"></Binding> 
            <Binding Path="Text" ElementName="txtRemarks" /> 
            <Binding Source="False" /> 
            <Binding Source="5" /> 
           </MultiBinding> 
          </trigger:InvokeCommandAction.CommandParameter> 
         </trigger:InvokeCommandAction> 
        </trigger:EventTrigger> 
       </CheckBox> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
+2

Вы попробовали 'Unchecked' вместо 'UnChecked'? – Bort

+0

О, ничего себе. Я так близко переписываю все это! Это был долгий день для меня, спасибо! –

ответ

0

Как @Bort отметил, имя события должно быть Unchecked вместо UnChecked.