具有可变行高的WPF DataGrid

时间:2011-07-20 14:56:42

标签: wpf datagrid

我正在以编程方式创建一个DataGrid,并且需要行高度可变,以便具有多行文本的行具有很高的高度以容纳其他行。

我尝试在代码中设置RowHeight属性,但这需要一个固定值。如果我没有设置RowHeight,它只使用一个任意值,如果文本不适合则不会扩展。

我还希望我的DataGrid内容可以扩展,因此如果调整DataGrid的大小,实际的单元格也会调整大小,包括单元格内的字体。我可以使用Viewbox,但我遇到了Viewbox的问题,因为它不会增长以适应文本,它推卸/扩展文本以适应它。

也许我需要遍历调整大小的所有行和列并手动设置height属性。

2 个答案:

答案 0 :(得分:11)

来自汤姆的这个问题很好的答案 - 刚才非常有用。如果你想在没有代码的情况下纯粹在Xaml中实现这一点,你可以在DataGrid声明中添加以下属性RowHeight="{x:Static sys:Double.NaN}"

要在此处识别'sys'命名空间,您必须将xmlns:sys="clr-namespace:System;assembly=mscorlib"添加到Xaml文件顶部的xmlns声明中。

答案 1 :(得分:10)

试试这个:

在Window的构造函数中,执行:

dataGrid.RowHeight = double.NaN;