【问题标题】:Implementing Swipe Animation like Pivot Page in PhoneApplicationPage windows phone 8在PhoneApplicationPage windows phone 8中实现像Pivot Page一样的滑动动画
【发布时间】:2014-11-15 17:17:22
【问题描述】:

我有很多物品(比如100个),我希望用户左右滑动查看物品的详细描述。

我曾想过使用透视控件,但由于项目太多,这会导致性能问题。

现在,为了使其轻量级,我想在单页中实现场景,并在用户滑动时更改 DataContext。我知道可以从工具包项目中检测到滑动手势。现在,当滑动手势与 Pivot Page 或 Normal Scroll 行为完全一样时,我想为我的网格设置动画。我搜索了一下,发现可以通过创建 StoryBoard 动画来完成,但我在这方面经验较少。任何代码示例都会有所帮助。谢谢。

【问题讨论】:

  • 您仍然可以选择枢轴控制!唯一要做的就是动态添加/删除项目。所以只加载 first next 和 first previous 。当枢轴的索引发生变化时,重新加载。
  • 我的枢轴也有增量加载行为,所以在列表的末尾我必须获取和添加新项目,当我使用枢轴时,它的循环性质会导致获取序列出现问题。并发布您在评论中解释的一些最低限度的实现。谢谢
  • 我不是在谈论将项目添加到您的列表中,而是在枢轴控件中添加/删除“枢轴”。这样您的枢轴控件内最多只有 3 个枢轴项目。
  • 你能发布一个示例实现吗?

标签: xaml windows-phone-7 windows-phone-8 storyboard expression-blend


【解决方案1】:

我认为你可以制作存档页面,当用户选择项目时跳转到带有选定索引的枢轴

【讨论】:

  • 具有复杂对象的项目太多,导致导航到页面的延迟(例如 10 秒)
【解决方案2】:

可能的小代码示例。

在您的页面代码中,初始化一个字典(其中 int 是位置,pivotitem 是枢轴) 在开始时用 3 个枢轴加载它 如果您的 Pivot 控件称为 AllPivots,则为字典中的每个枢轴执行 AllPivots.Items.Add(pivotItem)。

接下来要做的是检测用户如何更改枢轴,因此如果 AllPivots 的 selectedindex 发生更改,请查看用户是否前进,如果是,则将下一个枢轴添加到字典以及 AllPivots.Items 并删除AllPivots.Items.Remove 的第一个枢轴。

用户每次后退或前进时,都会在字典中查找下一个或上一个枢轴并执行正确的操作或动态创建新的枢轴。

就像我说的肮脏的黑客,但也许值得一试

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多