WPF DataGrid 如何获取滚动条 偏移量?

mulinyeyu 2016-10-26 10:45:03
如题,就是获取滚动条的滚动的距离?
用过这个方法 DataGrid.ScrollIntoView(item) ,但是每次都跑到最下面一行。
...全文
1063 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mulinyeyu 2016-10-27
  • 打赏
  • 举报
回复
问题解决,大家可以看看这个 http://stackoverflow.com/questions/5135544/reset-wpf-datagrid-scrollbar-position,用这个方法可以获得偏移量 下面这段代码可以把滚动条定位到指定位置。 DataGridAutomationPeer lvap = new DataGridAutomationPeer(gataGridBussinessDayCountDetail); var svap = lvap.GetPattern(PatternInterface.Scroll) as ScrollViewerAutomationPeer; var scroll = svap.Owner as ScrollViewer; scroll.ScrollToVerticalOffset(offsetValue);
mulinyeyu 2016-10-27
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
先获取DataGrid的ScrollViewer,再获取VerticalOffset值或者你可以自己设定,通过ScrollToVerticalOffset方法 来确定垂直滚动的量。
前台 ScrollViewer.CanContentScroll ="True" ScrollViewer.IsDeferredScrollingEnabled="True" ScrollViewer.ScrollChanged="GridView_ScrollChanged" 后台 private void GridView_ScrollChanged(object sender, ScrollChangedEventArgs e) { offsetValue = e.VerticalOffset; } 但是这样,我用鼠标向上滚动,根本不会触犯事件。拖拽的话,有时候偏移量还保持着上一次拖拽的值。
  • 打赏
  • 举报
回复
当然也可以操作 水平偏移量
  • 打赏
  • 举报
回复
先获取DataGrid的ScrollViewer,再获取VerticalOffset值或者你可以自己设定,通过ScrollToVerticalOffset方法 来确定垂直滚动的量。

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧