zoukankan      html  css  js  c++  java
  • WPF DataGrid DataGridTemplateColumn 列头checkbox如何在代码中取消选择

    Question

    <DataGrid Name="DG">
                    <DataGrid.Columns>
                        <DataGridTemplateColumn Width="70">
                            <DataGridTemplateColumn.HeaderTemplate>
                                <DataTemplate>
                                    <CheckBox Name="cbbSelALL" Content="全选" Click="cbbSelALL_Click"/>
                                </DataTemplate>
                            </DataGridTemplateColumn.HeaderTemplate>
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <CheckBox IsChecked="{Binding SelFlag}" Name="cbsel"/>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

    </DataGrid.Columns>
                </DataGrid>

    代码如上; 当我选中列头的CheckBox后,我重新查询绑定数据时需要将列头的CheckBox的选中状态取消,有什么方法吗?

    可以从VisualTree一层层地查找到CheckBox,代码如下:

     CheckBox chb = GetVisualChild<CheckBox>(DG, v => v.Name == "cbbSelALL");
      if (null != chb)
      {
           chb.IsChecked = false;
      }
            public T GetVisualChild<T>(DependencyObject parent, Func<T, bool> predicate) where T : Visual
            {
                int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
                for (int i = 0; i < numVisuals; i++)
                {
                    DependencyObject v = (DependencyObject)VisualTreeHelper.GetChild(parent, i);
                    T child = v as T;
                    if (child == null)
                    {
                        child = GetVisualChild<T>(v, predicate);
                        if (child != null)
                        {
                            return child;
                        }
                    }
                    else
                    {
                        if (predicate(child))
                        {
                            return child;
                        }
                    }
                }
    
                return null;
            }
  • 相关阅读:
    WebApi 接口参数:传参详解
    WebApi 身份认证解决方案:Basic基础认证
    EF 底层封装方法(供参考)
    接口和抽象类的区别
    EF Code First 连接MySql
    EntityFramework Code-First—领域类配置之DataAnnotations
    驱动基本框架和与ring3通信
    必备理论知识
    通过远程代码注入实现不死进程
    PE文件中插入程序
  • 原文地址:https://www.cnblogs.com/verna/p/4427840.html
Copyright © 2011-2022 走看看