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;
            }
  • 相关阅读:
    bugzilla 下载以及安装
    python 自定义异常
    centos7 安装testlink
    testlink errormsg:Your password does not satisfy the current policy requirements [<<][5fff09aa489f0831604244][DEFAULT][/testlink/install/installNewDB.php]
    httprunner中用output,可以在testcase间传递变量值
    windows下如何生成公钥和私钥
    selenium 页面滚动,滚动条滚动
    selenium 修改元素属性值
    MQ(Message Queue)消息队列
    Real-time operating system
  • 原文地址:https://www.cnblogs.com/verna/p/4427840.html
Copyright © 2011-2022 走看看