以不同的速度滚动gridview行

时间:2014-02-02 12:18:02

标签: gridview scroll winrt-xaml

我想为winrt创建一个gridview,每行有不同的滚动速度,但我不知道如何做,如果有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

xamlplayground.org有一个你想做的例子。它显示了如何以平行方式显示网格。它是为scrollviewer编写的,但文章说这个方法也可以应用于gridview和listview。

以下是代码:

<Grid>
       <Image x:Name="backImage" Margin="0,0,0,30" 
                HorizontalAlignment="Left" VerticalAlignment="Bottom" 
                Source="/Assets/parallax_people.png" Width="2250" Height="200" Opacity="0.5" />

        <ScrollViewer x:Name="hScroll" 
                      Style="{StaticResource HorizontalScrollViewerStyle}" Margin="0">
            <!-- insert your content here -->
        </ScrollViewer>
   </Grid>

代码背后:

private void hScroll_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
    {
        var delta = (this.hScroll.HorizontalOffset / this.hScroll.ScrollableWidth) * (backImage.ActualWidth - this.hScroll.ViewportWidth);
        this.backImage.Margin = new Thickness(-delta, 0, 0, 30);
    }

如果你想在每一行都有不同的速度,你可以随机化滚动速度。