gpt4 book ai didi

c# - 在 Win8 XAML 中使用 SemanticZoom 对分组 GridView 中的滚动使用react

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:37 28 4
gpt4 key购买 nike

我成功地在分组的背景上创建了视差滚动效果 GridView , 通过将其包装在 ScrollViewer 中听ScrollViewer.ViewChanged事件。问题是当它与 SemanticZoom 混合时.

示例(剥离的)XAML 以显示我所做的:

    <ScrollViewer>
<SemanticZoom>
<SemanticZoom.ZoomedInView>
<GridView />
</SemanticZoom.ZoomedInView>
<SemanticZoom.ZoomedOutView>
<GridView />
</SemanticZoom.ZoomedOutView>
</SemanticZoom>
</ScrollViewer>

这允许我在用户滚动时移动背景。问题是 SemanticZoom休息:当你缩小并选择一个组时,你总是被带到第一组。删除 ScrollViewer让我们SemanticZoom按预期工作,但后来我无法获得滚动位置(因为 GridView 没有公开它)。

基本上,我需要使用 GridView 显示分组图 block + 语义缩放 + 以不同于滚动的速度移动背景。

有没有办法在 GridView 中获取滚动位置,或者使上述工作正常?

更新:我在 Win8 Consumer Preview 中使用 C# 和 XAML,但更喜欢 Release Preview 的解决方案。

最佳答案

SemanticZoom 通过交叉缩放和交叉淡入淡出两个用户控件(ZoomedInView 和 ZoomedOutView)有效地工作。我建议放置两个 ScrollViewer,一个在 ZoomedInView 中,一个在 ZoomedOutView 中。但是,ScrollViewer 没有实现 SemanticZoom 需要的 ISemanticZoomInfo 接口(interface)。

您可以考虑订阅 ViewChanged 事件并在缩小时更改 ScrollViewer 上的某些内容。我正在考虑关闭 IsHitTestVisible,但由于 GridView 是一个 child ,我认为这只会禁用所有内容。您可以尝试关闭手势事件或 ZoomChaining,但我不知道这是否能解决您遇到的问题。我同意其他人的看法,即拥有实际样本会有所帮助。

关于c# - 在 Win8 XAML 中使用 SemanticZoom 对分组 GridView 中的滚动使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375113/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com