Изменение размера ячейки строки сетки Silverlight? - PullRequest
2 голосов
/ 21 апреля 2010

Мне удалось выяснить, как расширить и сжать столбец сетки данных с помощью мыши. Но после сжатия и расширения столбца высота ячейки не уменьшается.

Как я могу привести исходную высоту ячейки (или строки)? Вы можете посмотреть на это?

Спасибо AJ

1 Ответ

0 голосов
/ 10 декабря 2011

Так как я не могу найти это решение на SO, я напишу мое здесь.

Вам нужно найти СОБЫТИЕ, которое приводит к тому, что ваша строка имеет неправильный размер. В моем случае это просто прокрутка вверх и вниз (но я видел это на нескольких различных типах событий). Вот код для изменения размера таблицы данных:

    /// <summary>
    /// Reset datagrid row height
    /// </summary>
    /// <param name="row"></param>
    public void ResetRowHeight(DataGrid grid, DataGridRow row)
    {
        // only for autosize rows
        if (!double.IsNaN(row.Height)) return;

        // store current rowheight
        double rowheight = grid.RowHeight;

        // fore recalculating row height
        grid.RowHeight = 0;
        row.UpdateLayout();

        // restore rowheight
        grid.RowHeight = rowheight;
        row.UpdateLayout();
    }

Где grid - это ваша сетка данных, а row - строка, которая нуждается в сбросе.

Теперь просто найдите событие, которое вызывает вашу проблему, и это должно быть.

...