private void SelectDBFunc(RoutedEventArgs e) { var treeViewItem = VisualTreeUtil.VisualTreeUpwardSearch <TreeViewItem>(e.OriginalSource as DependencyObject) as TreeViewItem; if (treeViewItem == null) { return; } DatabaseItem item = treeViewItem.Header as DatabaseItem; if (item != null) { SelectedDBItem = item; } }
public static DataGridCell GetCell(this DataGrid grid, DataGridRow row, int column) { if (grid == null) { throw new System.ArgumentNullException("grid"); } if (row != null) { DataGridCellsPresenter presenter = VisualTreeUtil.GetVisualChild <DataGridCellsPresenter>(row); if (presenter == null) { grid.ScrollIntoView(row, grid.Columns[column]); presenter = VisualTreeUtil.GetVisualChild <DataGridCellsPresenter>(row); } DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column); return(cell); } return(null); }