当需要集合里面某个数据变化的时候进行动画,用到了DataTrigger,其中可以用到DataTrigger.EnterActions来实现。
与之配对的有一个<DataTrigger.ExitActions>。
EnterActions关于其中msdn解释为:Gets a collection of TriggerAction objects to apply when the trigger object becomes active。没看明白?
<DataTrigger Binding="{Binding IsShow}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource SB_Stop}"></BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource SB_Stop}"></BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
刚开始我以为绑定了以上还应该进行对应当返回动作如下:
<DataTrigger Binding="{Binding IsShow}" Value="false">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource SB_Stop}"></BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource SB_Stop}"></BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
后面经过实验,只进行第一次即可。IsShow是一个属性,bool类型。理解为:当true即enter,false的时候就Exit