zoukankan      html  css  js  c++  java
  • DataGrid 获得某行某列单元格

    /// <summary>
    /// 行、列从0开始计数
    /// </summary>
    /// <param name="rowIndex"></param>
    /// <param name="columnIndex"></param>
    /// <param name="dg"></param>
    /// <returns></returns>
    public DataGridCell GetCell(DataGrid dg,int rowIndex, int columnIndex)
    {
        DataGridRow row = dg.ItemContainerGenerator.ContainerFromIndex(rowIndex) as DataGridRow;
        DataGridCellsPresenter p = GetVisualChild<DataGridCellsPresenter>(row);
        DataGridCell cell = p.ItemContainerGenerator.ContainerFromIndex(columnIndex) as DataGridCell;
        return cell;
    }
    
    static T GetVisualChild<T>(Visual parent) where T : Visual
    {
        T child = default(T);
        int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
        for (int i = 0; i < numVisuals; i++)
        {
            Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
            child = v as T;
            if (child == null)
            {
                child = GetVisualChild<T>(v);
            }
            if (child != null)
            {
                break;
            }
        }
        return child;
    }
    

    使用

    DataGridCell cell = GetCell(yourDataGrid,1, 1);
    cell.Background = new SolidColorBrush(Colors.Red);
    

    参考资料

    How to Change Cell background color in WPF Datagrid

  • 相关阅读:
    PG
    unzip
    yum
    PG
    SQL
    Grails
    Grails
    Grails
    Chrome
    HTML
  • 原文地址:https://www.cnblogs.com/Lulus/p/13140484.html
Copyright © 2011-2022 走看看