调整Silverlight数据网格行的单元格高度?

时间:2010-04-21 17:37:41

标签: c# silverlight datagrid resize

我能够弄清楚如何使用鼠标扩展和收缩一列datagrid。但在收缩和扩大柱子后,细胞的高度不会降低。

如何携带单元格(或行)的原始高度? 你能看看这个吗?

由于 AJ

1 个答案:

答案 0 :(得分:0)

由于我无法在SO上找到这个解决方案,我会在这里输入我的。

您需要找到导致您的行尺寸错误的EVENT。就我而言,它只是上下滚动(但我已经在几种不同类型的事件中看到过这种情况)。以下是使datagrid调整大小的代码:

    /// <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是您的datagrid,row是需要重置的行。

现在只需找到引起问题的事件,应该是它。