Silverlight开发工具的使用为我们带来了很多帮助。在这里我们将会帮助大家一起来理解Silverlight视觉状态迁移的定义方式。希望通过这篇文章的介绍,大家可以理解这一方法的操作技巧。#t#
当我们我们定义了所有的视觉状态之后,会发现各个状态之间的状态过渡效果并没有显示出来,现在我们定义Silverlight视觉状态迁移。视觉状态迁移是定义在每一个视觉状态组中的,在Transitions下我们可以定义一系列的状态迁移。定义CheckStates状态组的视觉状态迁移,如下代码所示:
- < !-- CheckStates Transitions-->
- < vsm:VisualStateGroup.Transitions>
- < vsm:VisualTransition Duration="0:0:.2" />
- < /vsm:VisualStateGroup.Transitions>
这里的Duration定义了Silverlight视觉状态迁移需要的时间长度。这里定义的视觉状态迁移是默认的对所有状态都是用,同时VisualTransition还允许我们针对特殊的状态进行特别的处理,它为我们提供了From和To属性来指定特定的状态,可以只定义其中一个或者两者都定义。
如在CommonStates状态组中,视觉状态迁移代码定义如下:
- < !-- CommonStates Transitions-->
- < vsm:VisualStateGroup.Transitions>
- < vsm:VisualTransition
Duration="0:0:.5" />- < vsm:VisualTransition
Duration="0:0:0.8" To="MouseOver"/>- < vsm:VisualTransition
Duration="0:0:0.2" From="Pressed"/>- < vsm:VisualTransition
Duration="0" From="MouseOver" To="Pressed"/>- < /vsm:VisualStateGroup.Transitions>
可以看到除了定义默认的Silverlight视觉状态迁移之外,我们还为MouseOver和Pressed状态定义了特定的迁移效果。