我有一个WPF数据网格,它根据其中一列(操作列)的组合框选择更改rowdetails datatemplate。其中一个rowdetails模板很大,为数据网格提供的空间无法完全显示rowdetails,因此细节被截断。如果您尝试向下滚动,则显示下一条记录,而不是当前记录中其余的rowdetails。换句话说,它不会部分滚动记录。
示例: (注意底部切掉的字段,还有其他记录不可见。如果在下一条记录出现后单击滚动条按钮,则所有记录都向上移动并且不可见。)
有没有办法让数据网格滚动功能不只是记录到记录,而是显示超大的rowdetails?
根据下面接受的答案,我在数据网格样式中添加了以下内容:
<Style TargetType="{x:Type DataGrid}">
<Setter Property="VirtualizingPanel.ScrollUnit" Value="Pixel" />
</Style>
答案 0 :(得分:4)
这可能对你有帮助,尽管它取决于你使用.NET 4.5:
VirtualizingPanel.ScrollUnit附加属性可让您更改DataGrid
的滚动行为:
获取一个值,该值指示滚动是否作为项目进行测量 集合或像素。
使用VirtualizingPanel.ScrollUnit="Pixel"
而不是Item
可以让您按照自己的方式滚动。
如果您没有使用4.5,则可能需要在模板中使用ScrollViewer
敲门。