我正在以编程方式创建一个DataGrid,并且需要行高度可变,以便具有多行文本的行具有很高的高度以容纳其他行。
我尝试在代码中设置RowHeight属性,但这需要一个固定值。如果我没有设置RowHeight,它只使用一个任意值,如果文本不适合则不会扩展。
我还希望我的DataGrid内容可以扩展,因此如果调整DataGrid的大小,实际的单元格也会调整大小,包括单元格内的字体。我可以使用Viewbox,但我遇到了Viewbox的问题,因为它不会增长以适应文本,它推卸/扩展文本以适应它。
也许我需要遍历调整大小的所有行和列并手动设置height属性。
答案 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;