我想为winrt创建一个gridview,每行有不同的滚动速度,但我不知道如何做,如果有人可以帮助我。
答案 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);
}
如果你想在每一行都有不同的速度,你可以随机化滚动速度。