这是我的第一个 ListView 行列
,其中包含 CheckBox
:
<GridViewColumn Width="40" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Name="cbSelectInterface" IsThreeState="False" ></CheckBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
如何添加选项以仅检查特定行
中的一个CheckBox
以及我选择另一个CheckBox
并检查此控件的所有其他内容CheckBox
变为未选中状态?
最佳答案
将 CheckBox 的 IsChecked 属性绑定(bind)到 ListViewItem 的 IsSelected 属性怎么样?如果 SelectionMode 设置为 Single,则您只能选择一行和一个复选框。
<ListView ItemsSource="{Binding Source={StaticResource TestDataSource}}"
SelectionMode="Single">
<ListView.View>
<GridView>
<GridViewColumn Width="30">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected,
RelativeSource={RelativeSource
AncestorType={x:Type ListViewItem}}}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding}" />
</GridView>
</ListView.View>
</ListView>
然后,您可以使用 ListView 的 SelectedItem
来了解哪一行是选中的 CheckBox。
关于WPF:选择一个复选框时取消选择我的所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30755934/