具有可变行高的WPF DataGrid

WPF*_*bie 8 wpf datagrid

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

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

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

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

小智 11

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

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


Tom*_*dee 10

试试这个:

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

dataGrid.RowHeight = double.NaN;
Run Code Online (Sandbox Code Playgroud)