如何在WPF Datagrid上启用滚动条/滚动

Bri*_*anP 9 wpf datagrid scroll scrollbar

我有DataGrid一个Grid布局容器中的控件,我似乎无法自动滚动DataGrid自己工作.我可以包围DataGrida ScrollViewer并因此添加滚动条,但自动滚动不起作用.

所以现在,当添加新条目时DataGrid,DataGrid只是垂直扩展.我想启用垂直滚动条允许滚动到DataGrid添加更多项目时的项目,而不是原始垂直大小可以显示,而不是整个展开DataGrid.当然,必须有一种简单的方法来实现这一目标.

Bri*_*anP 16

好吧,得到了这个...我发现我甚至不需要在ScrollViewer周围包装数据网格.我所要做的就是定义数据网格的高度(使用"高度"属性),当添加超出高度的项目时,会出现数据网格滚动条.显然,当未定义高度时,它是动态的,并在添加新项目时垂直扩展.

另外要添加的是在我的datagrid中,我也为每一行定义了行详细信息,因此当展开多行细节时,将启用滚动,但滚动条行为有点古怪(喜欢它)是不是平滑滚动),并使其平滑滚动的修复是添加以下datagrid属性:ScrollViewer.CanContentScroll ="False"(我猜测datagrid控件是/从ScrollViewer继承)然后滚动很顺利,就像正常的预期滚动行为一样.

  • 我建议远离明确设置Datagrid的高度.相反,将datagrid放在DockPanel或Grid中,垂直滚动将自动发生,您的datagrid将使用它可用的所有空间. (13认同)