VisualTransition:表示当控件从一个状态转换到另一个状态时发生的可视行为。
VisualState:表示控件在特定状态下的可视外观。
其实可以看到这两个是有本质区别的,其实在没有VisualTransition的情况下VSM的功能已经是完成了,但是这个过程显得过于生硬,所以提到了VisualTransition。
VisualTransition表示从一个状态到另一个状态之间发生的可视行为,而 VisualState是达到另一个状态后保持的可视外观 。
如果使用自定义的transition,如下:
<VisualStateGroup.Transitions>
<VisualTransition To="Normal" From="MouseOver" GeneratedDuration="0:0:0.7">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="ScaleTransform"
Storyboard.TargetProperty="ScaleX">
<LinearDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
<LinearDoubleKeyFrame KeyTime="0:0:0.7" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
必须定义 Transiton的GenerateDuration属性和Animation的时间保持一致,如果不指定,则不会使用指定的 vsm