滚动条滑到底完美解决方案(适合任何带滚动条或ScrollBar控件 (三)

2014-11-24 02:32:53 · 作者: · 浏览: 9
{
ScrollView = Scroll;
ScrollView.ValueChanged += ScrollView_ValueChanged;
}
}

void ScrollView_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
{
OnOffsetChanged();
}

void OnOffsetChanged()
{
if (ScrollView == null)
return;

ScrollBar Scroll = ScrollView;

switch (DirectionType)
{
case DirectionType.Top:
case DirectionType.Left:
{
if (Scroll.Maximum < double.Epsilon || Scroll.Value - Scroll.ViewportSize > 0)
return;
}
break;
case DirectionType.Bottom:
case DirectionType.Right:
{
if (Scroll.Maximum < double.Epsilon || Scroll.Value + Scroll.ViewportSize < Scroll.Maximum)
return;
}
break;
default: break;
}

if (ScrollTrigger != null)
{
ScrollTrigger(this.AssociatedObject,new EventArgs());
}
base.InvokeActions(null);

}
} 如果对Action,Trigger,Behavior有不了解的朋友可以看我之前的博客,会有详细解释。
示例里的工程名誉我将的有写不一样,因为我复用了之前的示例,但不影响我博客里的内容