【问题标题】:How to enable scrollbar / scrolling on a WPF Datagrid如何在 WPF Datagrid 上启用滚动条/滚动
【发布时间】:2010-08-09 20:48:18
【问题描述】:

我在Grid 布局容器中有一个DataGrid 控件,我似乎无法让DataGrid 本身的自动滚动功能正常工作。我可以将DataGrid 包裹在ScrollViewer 周围,从而添加滚动条,但自动滚动不起作用。

所以现在,当向DataGrid 添加新条目时,DataGrid 只会垂直扩展。我希望启用垂直滚动条,允许滚动到 DataGrid 中的项目,当添加的项目超过原始垂直大小可以显示时,而不是整个 DataGrid 扩展。肯定有一种简单的方法可以实现这一点。

【问题讨论】:

标签: wpf datagrid scroll scrollbar


【解决方案1】:

好的,搞定了这个……事实证明,我什至不需要将数据网格包裹在 ScrollViewer 周围。我所要做的就是定义数据网格的高度(使用“高度”属性),当添加的项目超出高度时,数据网格滚动条就会出现。显然,当高度未定义时,它是动态的,并且会随着新项目的添加而垂直扩展。

要添加的另一件事是,在我的数据网格中,我还为每一行定义了一个行详细信息,因此当展开多行详细信息时,将启用滚动,但滚动条的行为有点古怪(就像它不是平滑滚动一样),为了使它平滑滚动,解决方法是添加以下 datagrid 属性: ScrollViewer.CanContentScroll="False" (我猜 datagrid 控件是/继承自 ScrollViewer)和然后滚动很流畅,就像正常的预期滚动行为一样。

【讨论】:

  • 我建议不要明确设置 Datagrid 的高度。相反,将数据网格放在 DockPanel 或 Grid 中,垂直滚动将自动发生,您的数据网格将使用所有可用空间。
猜你喜欢
  • 2010-10-14
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 2017-07-12
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
相关资源
最近更新 更多