2

我有一个 WPF 数据网格,它根据其中一列(操作列)的组合框选择更改 rowdetails 数据模板。其中一个rowdetails模板很大,为datagrid提供的空间不能完全显示rowdetails,因此细节被截断。如果您尝试向下滚动,则会显示下一条记录,而不是当前记录中的其余行详细信息。换句话说,它不会部分滚动浏览记录。

示例:( 注意底部被切断的字段,还有其他记录不可见。如果您在出现下一条记录时单击滚动条按钮,并且所有该记录都向上移动并且不可见。在此处输入图像描述

问题:

有没有办法让数据网格滚动功能不仅可以移动记录,还可以显示超大的行详细信息?

解决方案:

根据下面接受的答案,我将以下内容添加到我的数据网格样式中:

<Style TargetType="{x:Type DataGrid}">
   <Setter Property="VirtualizingPanel.ScrollUnit" Value="Pixel" />
</Style>
4

1 回答 1

5

这可能会对您有所帮助,尽管它取决于您使用 .NET 4.5:

VirtualizingPanel.ScrollUnit附加属性将允许您更改您的滚动行为DataGrid

获取一个值,该值指示滚动是作为集合中的项目还是作为像素来衡量的。

使用VirtualizingPanel.ScrollUnit="Pixel", 而不是Item应该允许您以您所追求的方式滚动。

如果您不使用 4.5,则可能必须ScrollViewer在模板中使用 a 敲一些东西。

于 2013-09-25T20:29:10.480 回答