zoukankan      html  css  js  c++  java
  • WPF DataGrid DataGridTemplateColumn 控制模板中控件

    <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>

    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;
    }

    CheckBox chb = GetVisualChild<CheckBox>(DG, v => v.Name == "cbbSelALL");
    if (null != chb)
    {
    chb.IsChecked = false;
    }

     
     
  • 相关阅读:
    Redis 是单进程单线程的?
    LeetCode-114. Flatten Binary Tree to Linked List
    Java HashMap源码分析
    转:zookeeper中Watcher和Notifications
    分布式服务框架
    LeetCode-330.Patching Array
    转:String StringBuffer StringBuilder区别
    最小堆代码实现
    数组的各类排序
    两步建立 ssh 反向隧道
  • 原文地址:https://www.cnblogs.com/sjqq/p/8588072.html
Copyright © 2011-2022 走看看