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