我成功地在分组的背景上创建了视差滚动效果,方法GridView
是将其包装在 a 中ScrollViewer
并收听ScrollViewer.ViewChanged
事件。问题是当它与SemanticZoom
.
示例(剥离)XAML 以显示我所做的事情:
<ScrollViewer>
<SemanticZoom>
<SemanticZoom.ZoomedInView>
<GridView />
</SemanticZoom.ZoomedInView>
<SemanticZoom.ZoomedOutView>
<GridView />
</SemanticZoom.ZoomedOutView>
</SemanticZoom>
</ScrollViewer>
这允许我在用户滚动时移动背景。问题是SemanticZoom
中断:当您缩小并选择一个组时,您总是被带到第一组。删除ScrollViewer
让我们SemanticZoom
按预期工作,但是我无法获得滚动位置(因为GridView
没有暴露它)。
基本上,我需要使用 GridView 呈现分组图块 + 语义缩放 + 以与滚动不同的速度移动背景。
有没有办法在 GridView 中获取滚动位置,或者使上述工作?
更新:我在 Win8 Consumer Preview 中使用 C# 和 XAML,但更喜欢 Release Preview 的解决方案。