使复选框列表视图项的内容可单击以激活该复选框

时间:2014-07-30 20:05:38

标签: wpf xaml

我正在使用复选框listview项填充列表视图。目前,检查该框的唯一方法是单击该框。如何扩展它以使列表视图项的内容也激活复选框

           <CheckBox VerticalAlignment="Stretch"  HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Margin="2"
                  IsChecked="{Binding IsSelected, Mode=TwoWay}" Content="{Binding Value}" ContentTemplate="{Binding FilterValueTemplate, ElementName=Q_ROOT}"/>

上面是我的主题,下面是实际观点。

            <StackPanel Orientation="Horizontal">                    
                <CheckBox VerticalAlignment="Center" Margin="2" IsChecked="{Binding IsChecked, Mode=TwoWay, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListViewItem}}">
                    <CheckBox.Content>
                        <ContentPresenter VerticalAlignment="Center" Content="{Binding Value}" ContentTemplate="{Binding FilterValueTemplate, ElementName=QFSP_ROOT}"/>
                    </CheckBox.Content>
                </CheckBox>
            </StackPanel>

2 个答案:

答案 0 :(得分:1)

使用 IsChecked IsSelected RelativeSource 与ListViewItem的 <CheckBox IsChecked="{Binding IsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListViewItem}}"/> 属性绑定:

{{1}}

答案 1 :(得分:0)

我将内容展示者内容移动到复选框本身内部,现在它可以正常工作:

<CheckBox VerticalAlignment="Center" Margin="2" IsChecked="{Binding IsSelected, Mode=TwoWay}" 
     Content="{Binding Value}" ContentTemplate="{Binding FilterValueTemplate, ElementName=QFSP_ROOT}"/>