• DataGrid 如何得到DataGridRow 和DataGridCell 对象


    第一行为不可编辑
     DataGridRow row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(0);
                if (row == null)
                {
                    dataGrid1.UpdateLayout();
                    row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(0);
                     
             }
             row.IsEnabled = false;
            public static T GetVisualChild<T>(Visual parent) where T : Visual
            {
                T childContent = default(T);
                int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
                for (int i = 0; i < numVisuals; i++)
                {
                    Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
                    childContent = v as T;
                    if (childContent == null)
                    {
                        childContent = GetVisualChild<T>(v);
                    }
                    if (childContent != null)
                    {
                        break;
                    }
                }
                return childContent;
            }
      
      
    //第二行第一列不可编辑
                     DataGridRow rowContainer = GetDataGridRow(dataGrid1, 1);
      
                    if (rowContainer != null)
                    {
                        DataGridCellsPresenter presenter = GetVisualChild<DataGridCellsPresenter>(rowContainer);
                        DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(1);
                        if (cell == null)
                        {
                            dataGrid1.ScrollIntoView(rowContainer, dataGrid1.Columns[0]);
                            cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(0);
                            
                        }
      
                        cell.IsEnabled = false;
                    }
  • 相关阅读:
    python进程监控及恢复
    Linux 命令行工具使用小贴士及技巧 ——(一)
    【未完待续】STP协议详解
    H3C路由交换设备配置的备份与恢复
    Linux小技巧2:如何修改SSH登陆端口
    supervisor error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib64/python2.7/socket.py line: 224
    Route Tools 知识点
    FirewallD常用命令及设置
    循环语句格式
    人脉就是钱脉,培养人脉的106个技巧
  • 原文地址:https://www.cnblogs.com/qq247039968/p/4567266.html
Copyright © 2020-2023  润新知