這是一個鼠標移入后,控件往左移動的動畫:

1 <Style TargetType="{x:Type StackPanel}"> 2 <Setter Property="RenderTransform"> 3 <Setter.Value> 4 <TranslateTransform X="{Binding ElementName=borderContent,Path=ActualWidth}"/> 5 </Setter.Value> 6 </Setter> 7 8 <Style.Triggers> 9 <Trigger Property="IsMouseOver" Value="True"> 10 <Trigger.EnterActions> 11 <BeginStoryboard> 12 <Storyboard> 13 <DoubleAnimation To="0" Duration="0:0:0.2" AccelerationRatio="0.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"/> 14 </Storyboard> 15 </BeginStoryboard> 16 </Trigger.EnterActions> 17 <Trigger.ExitActions> 18 <BeginStoryboard> 19 <Storyboard> 20 <DoubleAnimation Duration="0:0:0.2" AccelerationRatio="0.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"/> 21 </Storyboard> 22 </BeginStoryboard> 23 </Trigger.ExitActions> 24 </Trigger> 25 </Style.Triggers> 26 </Style>
其中可以看到,只有在EnterActions中設置了To屬性,
To="0",但ExitActions並沒有設置From或者To屬性,但在實際開發中,你會發現
當鼠標移出控件時,控件就會還原回原來的狀態,但是當你刪除ExitActions代碼后就不會生效。
另:
AccelerationRatio="0.5" 設置動畫加速度,值為 0 - 1.0