我的DataGrid
控件位于Grid
布局容器中,我似乎无法在DataGrid
本身上自动滚动。我可以将DataGrid
包裹在ScrollViewer
左右,从而添加滚动条,但自动滚动功能不起作用。
现在,当新条目添加到DataGrid
时,DataGrid
只会垂直展开。我希望启用垂直滚动条,当添加的项目多于原始垂直大小可以显示的内容时,可以滚动到DataGrid
中的项目,而不是整个DataGrid
展开。当然,必须有一种简单的方法来实现这一目标。
答案 0 :(得分:16)
好的,得到了这个...我发现我甚至不需要将数据网格包裹在ScrollViewer周围。我所要做的就是定义数据网格的高度(使用“高度”属性),当添加超出高度的项目时,会出现数据网格滚动条。显然,当未定义高度时,它是动态的,并在添加新项目时垂直扩展。
另外要补充的是,在我的datagrid中,我也为每一行定义了行详细信息,因此当展开多个行详细信息时,将启用滚动,但滚动条行为有点古怪(就像它不是平滑滚动),并且使其平滑滚动的修复是添加以下datagrid属性:ScrollViewer.CanContentScroll =“False”(我猜测datagrid控件是/从ScrollViewer继承)和然后滚动很平滑,就像正常的预期滚动行为一样。