W8.1 xaml - 是否可以使用故事板为列表视图/网格视图的默认滚动查看器设置动画

W8.1 xaml - is it possible to animate listview / gridview's default scrollviewer using storyboard

我在 windows 8.1 列表视图中有一个项目列表我想做的是,单击按钮我想自动滚动列表视图中的项目。

如果我将这些项目添加到 stackpanel 中并将其包装在 scrollviewer 控件中,我就能够实现这一点。但是我无法为列表视图的内置滚动查看器设置动画。

那么是否可以在 W8.1 商店应用程序中使用情节提要为列表视图/网格视图的默认滚动查看器设置动画。

<ListView x:Name="OnboardPanel" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Hidden">
            <ListView>
                <ItemsPanelTemplate>
                    <ItemsWrapGrid x:Name="OnboardWrapGrid" MaximumRowsOrColumns="6" Orientation="Horizontal" HorizontalAlignment="Stretch" Background="Red"/>
                </ItemsPanelTemplate>
            </ListView>
            <ListView>
                <DataTemplate>
                    <Image Source="{Binding ImageName}" Margin="1" Stretch="UniformToFill"/>
                </DataTemplate>
            </ListView>
        </ListView>



private void Button_Click(object sender, RoutedEventArgs e)
        {
            //myStoryboard.Begin();
            Storyboard storyboard1 = new Storyboard();
            DoubleAnimation verticalScrollOffsetAnimation = new DoubleAnimation
            {
                From = 0,
                To = 1000,
                Duration = new TimeSpan(0, 0, 0, 3, 0),
                EnableDependentAnimation = true
            };

            storyboard1.Children.Add(verticalScrollOffsetAnimation);
            Storyboard.SetTarget(verticalScrollOffsetAnimation, OnboardPanel.GetScrollViewer());
            Storyboard.SetTargetProperty(verticalScrollOffsetAnimation, "VerticalOffset");
            //storyboard1.FillBehavior = FillBehavior.Stop;
            //storyboard1.RepeatBehavior = RepeatBehavior.Forever;
            storyboard1.Begin();
        }

我使用下面的示例并做了一些代码更改以添加故事板动画以在列表视图中为滚动查看器设置动画。

Animate (smoothly) ScrollViewer programmatically