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

发布于 2025-01-07 22:58:13 字数 340 浏览 2 评论 0原文

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

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

我怎样才能做到这一点? Silverlight 故事板可以做到这一点吗?

In my Phone 7 app, I'm currently using the Silverlight Toolkit's transition service to implement transition animations when the user navigates between pages. It's working. But I don't like these animations because they always consist of two phases: the first phase shows an animation between the current page and the background, and the second one an animation between the background and the next page. It seems that most Phone 7 applications have this kind of animations.

What I would like to have instead is a direct animation from one page to another so that during the animation parts of both pages are visible. For a slide animation for example, the old page would move to the left and directly reveal the new page underneath. During the animation, the screen is split: the left part show less and less of the old page while the right part shows more and more of the new page.

How can I achieve that? Is a Silverlight storyboard able to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福%小乖 2025-01-14 22:58:13

我对日历控件进行了类似的研究,并以下一个解决方案结束:

  • 在导航到其他月份之前,复制当前的控件内容
    进入底层矩形(将其渲染为图像并用作 ImageBrush
    填充矩形);
  • 将当前控件内容的不透明度设置为0,以便只有下面的矩形可见;
  • 创建新的控件内容(当其不透明度仍为 0 时);
  • 开始动画。为基础矩形和控件内容不透明度及其渲染变换执行动画。
  • 当动画完成时,清除底层矩形的 Fill 属性。

这就是这个想法。所有故事板都可以在 xaml 中定义,但动画处理需要一些代码。
我不确定它是否适用于您的情况,也许您需要诸如 Book control 之类的东西。

I did similar research for calendar control and ended with the next solution:

  • before navigating to the other month, copy current control content
    into underlying rectangle (render it to image and use as ImageBrush
    to fill rectangle);
  • set current control content Opacity to 0 so that only underlying rectangle is visible;
  • create new control content (while it is still with opacity = 0);
  • start animation. Animation is performed for underlying rectangle and control content opacities and for their RenderTransforms.
  • when animation completes, clear underlying rectangle Fill property.

It's the idea. All storyboards can be defined in xaml, but animation handling requires some code.
I'm not sure whether it is applicable to your case, maybe you need something like Book control.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文