【问题标题】:WPF CheckBox UnCheck Event Not FiringWPF CheckBox UnCheck 事件未触发
【发布时间】:2015-05-01 16:59:15
【问题描述】:

我在 ItemsControl 中有一个复选框。它有一个用于CheckedUnChecked 事件的EventTrigger。它还绑定到带有多个CommandParametersCommandChecked 事件触发得很好。

但是,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>

【问题讨论】:

  • 您是否尝试过“未选中”而不是“未选中”?
  • 哇哦。我已经接近重写整个事情了!这对我来说是漫长的一天,谢谢!

标签: wpf checkbox eventtrigger


【解决方案1】:

正如@Bort 指出的,事件名称应该是Unchecked 而不是UnChecked

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多