wpf控制垂直滚动条到最上方

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 使用场景
  • 上代码


使用场景

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;
        }

你可能感兴趣的:(wpf)