如何为 Storyboard Animation (Windows Universal App) 设置 ScrollViewer VerticalOffset 属性?
How to set ScrollViewer VerticalOffset property for Storyboard Animation (Windows Universal App)?
我尝试制作故事板动画,但无法更改 ScrollViewer 的 VerticalOffset 属性。此代码与 Opacity 等配合使用效果很好。属性,但不包括 VerticalOffset 和 HorizontalOffset。
private void MakeVerticalAnimation()
{
Storyboard AnimationStoryboard = new Storyboard();
DoubleAnimation VerticalOffsetAnimation = new DoubleAnimation();
Storyboard.SetTarget(VerticalOffsetAnimation, MyScrollViewer);
Storyboard.SetTargetProperty(VerticalOffsetAnimation, "VerticalOffset");
VerticalOffsetAnimation.EnableDependentAnimation = true;
VerticalOffsetAnimation.From = 100;
VerticalOffsetAnimation.To = 0;
VerticalOffsetAnimation.Duration = TimeSpan.FromSeconds(3);
AnimationStoryboard.Children.Add(VerticalOffsetAnimation);
AnimationStoryboard.Begin();
}
您的动画将无法播放,因为 VerticalOffset
是 只读的。您可以改用 ChangeView
方法。
MyScrollViewer.ChangeView(null, 0, null, false);
看看我的另一个回答。
我尝试制作故事板动画,但无法更改 ScrollViewer 的 VerticalOffset 属性。此代码与 Opacity 等配合使用效果很好。属性,但不包括 VerticalOffset 和 HorizontalOffset。
private void MakeVerticalAnimation()
{
Storyboard AnimationStoryboard = new Storyboard();
DoubleAnimation VerticalOffsetAnimation = new DoubleAnimation();
Storyboard.SetTarget(VerticalOffsetAnimation, MyScrollViewer);
Storyboard.SetTargetProperty(VerticalOffsetAnimation, "VerticalOffset");
VerticalOffsetAnimation.EnableDependentAnimation = true;
VerticalOffsetAnimation.From = 100;
VerticalOffsetAnimation.To = 0;
VerticalOffsetAnimation.Duration = TimeSpan.FromSeconds(3);
AnimationStoryboard.Children.Add(VerticalOffsetAnimation);
AnimationStoryboard.Begin();
}
您的动画将无法播放,因为 VerticalOffset
是 只读的。您可以改用 ChangeView
方法。
MyScrollViewer.ChangeView(null, 0, null, false);
看看我的另一个回答