WPF的DataGrid中的行高如何自适应填充整个DataGrid控件?

薰若 2017-12-29 05:16:12
<Grid>
<DataGrid x:Name="testgrid" ItemsSource="{Binding ListInfo}" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="电压(V)" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding CellName}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>

以上,如果我绑定的记录比较少的话,DataGrid数据行就不会填充满所有的空间,造成这种情况:


请问如何才能让行高根据控件的高度进行自动适应呢?使所有数据自动填充整个空间?
...全文
1814 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluk44444 2018-01-19
  • 打赏
  • 举报
回复
列宽自适应可以通过设置widht="*"。但是行高只能是你自己计算,然后赋值一个合适值。当然如果你的列宽是固定的,这一列的内容太长发生换行的话,行高可以做到自动扩展。
Luskyle 2017-12-31
  • 打赏
  • 举报
回复
引用 2 楼 qq_33712555 的回复:
首先要说明:只用个DataGrid办不到。不用这样考虑了。列可以自动适应,行不可能的。因为内容的宽是总是固定的(等于窗体宽或自设宽),内容的高默认是随着向下的内容的增长而增长。 要实现你的这种效果,可以固定父容器的高等于整个窗体的高。之后添加 scrollview 控件,把你要的 数据读取到 datagrid后添加到 scrollview中。至于你要设置每一项有多高,那就随意了。
当然,你可以计算设置项的高,不过我以为没必要那样做,你不会得到好效果。
Luskyle 2017-12-31
  • 打赏
  • 举报
回复
首先要说明:只用个DataGrid办不到。不用这样考虑了。列可以自动适应,行不可能的。因为内容的宽是总是固定的(等于窗体宽或自设宽),内容的高默认是随着向下的内容的增长而增长。 要实现你的这种效果,可以固定父容器的高等于整个窗体的高。之后添加 scrollview 控件,把你要的 数据读取到 datagrid后添加到 scrollview中。至于你要设置每一项有多高,那就随意了。
exception92 2017-12-30
  • 打赏
  • 举报
回复
DataGrid 没有那么智能,它自己做不到根据内容来自适应行高,手动计算吧。

8,731

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧