场景跳转也就是页面切换。在Silverlight中为页面跳转加入自定义动画是件非常简单的事。在动画方面可以说没有你做不到的只有你想不到的。XCenter中内置了3中动画行为。下面是点击了登陆按钮后的渐变动画效果。

看效果不如看代码:)
Framework中的WindowHelper类封装了一系列的带动画跳转方法:
#endregion
看效果不如看代码:)
Framework中的WindowHelper类封装了一系列的带动画跳转方法:
其中传递的参数TransitionBase定义在Framework.Client中的Navigation命名空间。

Transitions命名空间下是现有的动画实现。NavigationHelper是跳转的简单封装。TransitionBase是动画的基类。下面以FadeTransition(淡入淡出)动画为例。
}
可以看出核心逻辑是通过Storyboard指定时间间隔并改变UserControl的Opacity属性实现动画。用户可以在这个框架下编写自己的创意动画,然后应用到页面跳转逻辑中。
上面的带动画跳转只说到动画而没有说到跳转。这里说的跳转不涉及Silverlight3中的Navigation Project因为在Silverlight2时还没有这玩意。(了解的朋友可以给我讲讲,我还不知道怎么用)。在Silverlight2时代我们最常用的实现跳转的方法就是把RootVisual设置成为Grid,然后动态添加删除UserControl。
.
跳转的代码其实很简单。
}
Transitions命名空间下是现有的动画实现。NavigationHelper是跳转的简单封装。TransitionBase是动画的基类。下面以FadeTransition(淡入淡出)动画为例。
可以看出核心逻辑是通过Storyboard指定时间间隔并改变UserControl的Opacity属性实现动画。用户可以在这个框架下编写自己的创意动画,然后应用到页面跳转逻辑中。
//带场景跳转
WindowHelper.Navigate(new FadeTransition(), new Page())
WindowHelper.Navigate(new FadeTransition(), new Page())
上面的带动画跳转只说到动画而没有说到跳转。这里说的跳转不涉及Silverlight3中的Navigation Project因为在Silverlight2时还没有这玩意。(了解的朋友可以给我讲讲,我还不知道怎么用)。在Silverlight2时代我们最常用的实现跳转的方法就是把RootVisual设置成为Grid,然后动态添加删除UserControl。
跳转的代码其实很简单。