我以编程方式创建一个DataGrid,并且需要行高度可变,以便具有多行文本的行具有很高的高度来容纳其他行 .
我尝试在代码中设置RowHeight属性,但这需要一个固定值 . 如果我将RowHeight设置为unset,则只使用一个任意值,如果文本不适合则不会扩展 .
我还希望我的DataGrid内容可以扩展,所以如果调整DataGrid的大小,实际的单元格也会调整大小,包括单元格内的字体 . 我可以使用Viewbox,但我遇到了Viewbox的问题,因为它不会增长到适合文本,它推卸/扩展文本以适应它 .
也许我需要遍历调整大小上的所有行和列并手动设置height属性 .
2 回答
试试这个:
在Window的构造函数中,执行:
汤姆对这个问题的答案非常好 - 刚才非常有用 . 如果你想在没有代码的情况下纯粹在Xaml中实现这一点,你可以在DataGrid声明中添加以下属性
RowHeight="{x:Static sys:Double.NaN}"
要在此处识别'sys'名称空间,您必须将
xmlns:sys="clr-namespace:System;assembly=mscorlib"
添加到Xaml文件顶部的xmlns声明中 .