FindName和VisualTreeHelper

int iCount = this.dataGridCancelOrderList.Items.Count;
                for (int i = 0; i < iCount; i++)
                {
                    var cntr = this.dataGridCancelOrderList.ItemContainerGenerator.ContainerFromIndex(i);
                    DataGridRow ObjROw = (DataGridRow)cntr;
                    if (ObjROw != null)
                    {
                        DataGridTemplateColumn templeColumn = dataGridCancelOrderList.Columns[0] as DataGridTemplateColumn;//0列为checkBox
                        if (templeColumn != null)
                        {
                            FrameworkElement objElement = templeColumn.GetCellContent(ObjROw);

                            if (null != objElement)
                            {
                                System.Windows.Controls.CheckBox checkBox = templeColumn.CellTemplate.FindName("checkBox", objElement) as System.Windows.Controls.CheckBox;
                                checkBox.IsChecked = IsSelectAll;
                            }
                        }
                    }
                }


public static DataGridRow GetDoubleClickRow(DataGrid dataGrid)
        {
            try
            {
                if (dataGrid == null) return null;
                Point point = Mouse.GetPosition(dataGrid);
                IInputElement inputElement = dataGrid.InputHitTest(point);
                DependencyObject target = inputElement as DependencyObject;
                if (target is TextBlock)
                {
                    while (target != null)
                    {
                        if (target is DataGridRow)
                        {
                            DataGridRow dr = target as DataGridRow;
                            return dr;
                        }
                        target = VisualTreeHelper.GetParent(target);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("获取双击行出错:"+ex.Message);
            }

            return null;
        }

猜你喜欢

转载自jcair.iteye.com/blog/2220829