2013-08-28 49 views
0

nex代碼是在文本框上製作動畫的簡單代碼。我如何在TextBox上製作動畫?

我需要,但它的風格使更多的一個文本框上的動畫。

我嘗試,但我失敗了。

個代碼

<TextBox Grid.Column=" 1" Margin=" 5"> 
      <TextBox.Background > 
       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> 
        <GradientStop x:Name="sd1" Color="White" Offset="0"/> 
        <GradientStop x:Name="sd2" Color="#FF5F5F5F" Offset="1"/> 
       </LinearGradientBrush> 
      </TextBox.Background> 
      <TextBox.Triggers > 
       <EventTrigger RoutedEvent="GotFocus"> 
        <BeginStoryboard > 
         <Storyboard > 
          <DoubleAnimation Storyboard.TargetName="sd1" Storyboard.TargetProperty="Offset" From="0" To="1" Duration="0:0:2"></DoubleAnimation> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
       <EventTrigger RoutedEvent="LostFocus" > 
        <BeginStoryboard > 
         <Storyboard > 
          <DoubleAnimation Storyboard.TargetName="sd1" Storyboard.TargetProperty="Offset" From="1" To="0" Duration="0:0:2"></DoubleAnimation> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
      </TextBox.Triggers> 
     </TextBox> 

謝謝....

+0

你可以發佈你請嘗試嗎?我知道你已經有了'Style'了嗎? – oddparity

回答

2

風格爲資源:

<Window.Resources> 
    <Style x:Key="TextBoxStyle" TargetType="TextBox"> 
     <Setter Property="Background"> 
      <Setter.Value> 
       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> 
        <GradientStop Color="White" Offset="0"/> 
        <GradientStop Color="#FF5F5F5F" Offset="1"/> 
       </LinearGradientBrush> 
      </Setter.Value> 
     </Setter> 
     <Style.Triggers> 
      <EventTrigger RoutedEvent="GotFocus"> 
       <BeginStoryboard > 
        <Storyboard > 
         <DoubleAnimation Storyboard.TargetProperty="Background.GradientStops[0].Offset" From="0" To="1" Duration="0:0:2"></DoubleAnimation> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
      <EventTrigger RoutedEvent="LostFocus" > 
       <BeginStoryboard > 
        <Storyboard > 
         <DoubleAnimation Storyboard.TargetProperty="Background.GradientStops[0].Offset" From="1" To="0" Duration="0:0:2"></DoubleAnimation> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Style.Triggers> 
    </Style> 
</Window.Resources> 

,比你的文本框:

<TextBox Grid.Column=" 1" Margin=" 5" Style="{StaticResource TextBoxStyle}"/>