提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
使用场景
wpf项目中有个datagrid列表,当数据出现垂直滚动条时拉倒最下方,现在当数据刷新时需要自动返回到数据最上方。
提示:以下是本篇文章正文内容,下面案例可供参考
上代码
控制部分
//控制滚动条的位置到最上方ScrollViewer scrollViewer = GetVisualChild<ScrollViewer>(你的控件名字);if (scrollViewer != null){scrollViewer.ScrollToTop();}
获取VisualChild(需要添加 using System.Windows.Media;)
private static T GetVisualChild<T>(DependencyObject parent) where T : Visual{T child = default(T);int numVisuals = VisualTreeHelper.GetChildrenCount(parent);for (int i = 0; i < numVisuals; i++){Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);child = v as T;if (child == null){child = GetVisualChild<T>(v);}if (child != null){break;}}return child;}