WPF CheckBox 全选
要实现WPF CheckBox的全选功能,可以使用以下步骤:
- 在XAML中添加一个CheckBox作为全选CheckBox,设置其IsChecked属性为false,Checked和Unchecked事件处理程序如下:
<CheckBox x:Name="chkSelectAll" Content="全选" IsChecked="False" Checked="chkSelectAll_Checked" Unchecked="chkSelectAll_Unchecked"/>
- 在列表或表格中添加CheckBox列,绑定到每个项的IsSelected属性:
<DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="选择" Binding="{Binding IsSelected}" />
<!-- 其他列 -->
</DataGrid.Columns>
</DataGrid>
- 在全选CheckBox的Checked和Unchecked事件处理程序中,遍历列表或表格中的每个项,将它们的IsSelected属性设置为全选CheckBox的IsChecked属性值:
private void chkSelectAll_Checked(object sender, RoutedEventArgs e)
{
foreach (var item in Items)
{
item.IsSelected = true;
}
}
private void chkSelectAll_Unchecked(object sender, RoutedEventArgs e)
{
foreach (var item in Items)
{
item.IsSelected = false;
}
}
- 在每个项的IsSelected属性更改事件处理程序中,检查是否所有项都被选中,如果是,则将全选CheckBox的IsChecked属性设置为true,否则设置为false:
private void Item_IsSelectedChanged(object sender, EventArgs e)
{
bool allSelected = Items.All(item => item.IsSelected);
chkSelectAll.IsChecked = allSelected;
}
这样就可以实现WPF CheckBox的全选功能了。
原文地址: https://www.cveoy.top/t/topic/bVOf 著作权归作者所有。请勿转载和采集!