首页 文章

具有可变行高的WPF DataGrid

提问于
浏览
8

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

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

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

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

2 回答

  • 10

    试试这个:

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

    dataGrid.RowHeight = double.NaN;
    
  • 9

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

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

相关问题