WPF中讓滾動條滾動到指定元素位置


    /// <summary>
    /// 垂直方向滾動到頂部
    /// </summary>
    /// <param name="element"></param>
    /// <param name="scrollViewer"></param>
    public static void ScrollViewToVerticalTop(FrameworkElement element, ScrollViewer scrollViewer)
    {
        var scrollViewerOffset = scrollViewer.VerticalOffset;
        var point = new Point(0, scrollViewerOffset);
        var tarPos = element.TransformToVisual(scrollViewer).Transform(point);
        scrollViewer.ScrollToVerticalOffset(tarPos.Y);
    }
    
    /// <summary>
    /// 水平方向滾動到右側
    /// </summary>
    /// <param name="element"></param>
    /// <param name="scrollViewer"></param>
    public static void ScrollViewToHorizontalRight(FrameworkElement element, ScrollViewer scrollViewer)
    {
        var scrollViewerOffset = scrollViewer.HorizontalOffset;
        var point = new Point(scrollViewerOffset, 0);
        var tarPos = element.TransformToVisual(scrollViewer).Transform(point);
        scrollViewer.ScrollToHorizontalOffset(tarPos.X);
    }

如果需要滾動到中間需要減去容器的一半寬度或者高度


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM