Вопрос по wpf – Как получить ячейку из DataGrid?

1

У меня есть DataGrid (.net Framework 3.5, WPFToolKit). И я хочу изменить границы (влево или вправо) некоторых ячеек. Раз, два или три. Итак, как я могу получить доступ к одной ячейке? И возможно ли это? Я нашел несколько решений, но они предназначены для .net 4.

Ваш Ответ

1   ответ
2

это всего лишь пример, вам не нужно выполнять часть обработки, которую я делаю:

public DataGridCell GetCell(int row, int column)
    {
        var rowContainer = GetRow(row);

        if (rowContainer != null)
        {
            var presenter = FindVisualChild<DataGridCellsPresenter>(rowContainer);
            if (presenter == null)
                return null;

            // try to get the cell but it may possibly be virtualized
            var cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column);
            if (cell == null)
            {
                // now try to bring into view and retreive the cell
                ScrollIntoView(rowContainer, Columns[column]);
                cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column);
            }
            return cell;
        }
        return null;
    }

    public DataGridRow GetRow(int index)
    {
        var row = (DataGridRow)ItemContainerGenerator.ContainerFromIndex(index);
        if (row == null)
        {
            // may be virtualized, bring into view and try again
            ScrollIntoView(Items[index]);
            row = (DataGridRow)ItemContainerGenerator.ContainerFromIndex(index);
        }
        return row;
    }

Для определенияFindVisualChild, посмотри наэтот сайт.

Error: User Rate Limit Exceeded Dmitry Belov
Error: User Rate Limit Exceeded Dmitry Belov

Похожие вопросы