我能够弄清楚如何使用鼠标扩展和收缩datagrid列。但是在收缩和扩展列之后,单元格的高度不会降低。
如何带出单元格(或行)的原始高度?
你能看一下吗?
谢谢
AJ
最佳答案
由于无法在SO上找到此解决方案,因此在这里输入mine。
您需要找到一个导致行大小错误的事件。就我而言,它只是上下滚动(但是我已经在几种不同类型的事件中看到了这一点)。这是使您的数据网格调整大小的代码:
/// <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是需要重置的行。
现在,只需查找引起问题的事件,应该就是它。
关于c# - 调整Silverlight datagrid行的单元格高度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2685208/