在MS Surface上出现动画问题

本文关键字:动画 问题 MS Surface | 更新日期: 2023-09-27 18:04:22

我想给ScrollViewer添加动画:

var anim = new DoubleAnimation
{
    From = from,
    To = to,
    Duration = new Duration(TimeSpan.FromMilliseconds(250)),
    EnableDependentAnimation = true
};
// run animation
var sb = new Storyboard();
sb.Children.Add(anim);
Storyboard.SetTarget(anim, SmoothScrollViewer);
Storyboard.SetTargetProperty(anim, "(ScrollViewer.HorizontalOffset)");
sb.Begin();

在我的台式机上运行时可以正常工作,但在Surface Pro设备上运行时不能正常工作。看起来动画被忽略了,因为如果我在Storyboard中添加listener。完成事件,它会引发。如何修复或解决此问题?

在MS Surface上出现动画问题

这是不可能的,因为HorizontalOffset是只读的。如果你的目标是Windows 8.1 - ChangeView方法在默认情况下动画滚动。如果你的应用程序需要在8.0上工作,你可以动画另一个属性,并在该属性的变化处理程序中调用ScrollToHorizontalOffset()(或使用我的扩展来完成它)。