zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【WPF】一组CheckBox的全选/全不选功能

WPF 功能 checkbox 全选 一组
2023-09-11 14:22:26 时间

需求:给一组CheckBox做一个全选/全不选的按钮。

思路:CheckBox不像RadioButton那样拥有GroupName属性来分组,于是我想的方法是将这组CheckBox放到一个布局容器中,给这个布局容器命名,后台代码通过名字找到该布局控件,再获取它的所有子类,即可操作这一组CheckBox。

前台代码:

<WrapPanel Name="materialTabItem" Orientation="Horizontal">
    <CheckBox Name="selectAllBtn" Click="selectAll_OnClick" Content="全选/全不选" Margin="5"/>
    <CheckBox Content="实木地板" Margin="5"/>
    <CheckBox Content="硅藻泥" Margin="5"/>
    <CheckBox Content="涂料" Margin="5"/>
</WrapPanel>

对应的后台代码:

private void selectAll_OnClick(object sender, RoutedEventArgs e)
{
    bool flag = selectAllBtn.IsChecked == true ? true : false;
    for (int i = 0; i < materialTabItem.Children.Count; i++)
    {
        var item = materialTabItem.Children[i];
        if (item is CheckBox)
        {
            CheckBox checkBoxItem = (CheckBox)item;
            checkBoxItem.IsChecked = flag;
        }
    }
}

运行效果如下:

这里写图片描述