LunarMind/RecentFileScrollViewer.cs
(完整代码) 1KBusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
namespace SHomeWorkshop.LunarMind
{
public class RecentFileScrollViewer : ScrollViewer
{
//Register a DependencyProperty which has a onChange callback
public static DependencyProperty CurrentVerticalOffsetProperty = DependencyProperty.Register("CurrentVerticalOffset", typeof(double), typeof(RecentFileScrollViewer), new PropertyMetadata(new PropertyChangedCallback(OnVerticalChanged)));
public static DependencyProperty CurrentHorizontalOffsetProperty = DependencyProperty.Register("CurrentHorizontalOffsetOffset", typeof(double), typeof(RecentFileScrollViewer), new PropertyMetadata(new PropertyChangedCallback(OnHorizontalChanged)));
//When the DependencyProperty is changed change the vertical offset, thus 'animating' the scrollViewer
private static void OnVerticalChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
RecentFileScrollViewer viewer = d as RecentFileScrollViewer;
viewer.ScrollToVerticalOffset((double)e.NewValue);
}
//When the DependencyProperty is changed change the vertical offset, thus 'animating' the scrollViewer
private static void OnHorizontalChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
RecentFileScrollViewer viewer = d as RecentFileScrollViewer;
viewer.ScrollToHorizontalOffset((double)e.NewValue);
}
public double CurrentHorizontalOffset
{
get { return (double)this.GetValue(CurrentHorizontalOffsetProperty); }
set { this.SetValue(CurrentHorizontalOffsetProperty, value); }
}
public double CurrentVerticalOffset
{
get { return (double)this.GetValue(CurrentVerticalOffsetProperty); }
set { this.SetValue(CurrentVerticalOffsetProperty, value); }
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。