过渡动画同时显示两个页面的部分内容?

时间:2012-02-21 19:59:54

标签: silverlight windows-phone-7 animation windows-phone

在我的Phone 7应用程序中,我正在使用Silverlight Toolkit的转换服务在用户在页面之间导航时实现转换动画。它正在发挥作用。但我不喜欢这些动画,因为它们总是由两个阶段组成:第一阶段显示当前页面和背景之间的动画,第二阶段显示背景和下一页面之间的动画。似乎大多数Phone 7应用程序都有这种动画。

我想要的是从一个页面到另一个页面的直接动画,以便在动画期间两个页面的部分都可见。例如,对于幻灯片动画,旧页面将向左移动并直接显示下面的新页面。在动画期间,屏幕被分割:左侧部分显示的页面越来越少,而右侧部分显示越来越多的新页面。

我怎样才能实现这一目标? Silverlight故事板能够做到这一点吗?

1 个答案:

答案 0 :(得分:0)

我做了类似的日历控制研究,并以下一个解决方案结束:

  • 在导航到另一个月之前,复制当前控制内容 到底层矩形(渲染到图像并用作ImageBrush) 填充矩形);
  • 将当前控制内容设置为0,以便只显示基础矩形;
  • 创建新的控件内容(虽然它仍然具有opacity = 0);
  • 开始动画。动画是针对底层矩形和控件内容不透明度以及RenderTransforms执行的。
  • 当动画完成时,清除底层矩形Fill属性。

这是个主意。所有故事板都可以在xaml中定义,但动画处理需要一些代码。 我不确定它是否适用于你的情况,也许你需要像Book control这样的东西。