更改标签的内容,故事板

问题描述:

我在下面的代码标签:更改标签的内容,故事板

<Window.Triggers> 
      <EventTrigger RoutedEvent="Loaded"> 
       <BeginStoryboard> 
        <Storyboard FillBehavior="Stop" > 
         <DoubleAnimation RepeatBehavior="Forever" 
        Storyboard.TargetName="Transform" 
        Storyboard.TargetProperty="X" 
        From="220" To="-1300" Duration="0:0:15" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Window.Triggers> 

    <StackPanel > 
     <Label Content="Hello! your Welcome" HorizontalAlignment="Right" FontSize="11"> 
        <Label.RenderTransform> 
         <TranslateTransform x:Name="Transform" X="0" Y="0"/> 
        </Label.RenderTransform> 
     </Label> 
    </StackPanel> 

标签移动到我的窗口,但我希望在priod再次启动更改标签的内容 。 如果您建议使用列表<的代码> insted的标签会更好。

+0

你刚才说我,我怎样才能改变标签白色故事板的内容。 – 2012-03-08 08:52:56

您可以运行一次动画,然后在完成的事件中更改标签的内容,然后继续运行动画。

您的代码将更加紧凑,如果您将动画的资源:

XAML:

<Window.Resources> 
    <DoubleAnimation x:Key="da" 
     Completed="DoubleAnimation_Completed" 
     From="220" To="-1300" Duration="0:0:15" 
     /> 
</Window.Resources> 

<StackPanel> 
    <Label x:Name="lbl" Content="Hello! your Welcome" HorizontalAlignment="Right" FontSize="11"> 
     <Label.RenderTransform> 
      <TranslateTransform x:Name="Transform" X="0" Y="0"/> 
     </Label.RenderTransform> 
    </Label> 
</StackPanel> 

代码背后:

private void DoubleAnimation_Completed(object sender, EventArgs e) { 
     this.lbl.Content = "Second time"; 
     DoubleAnimation da = this.Resources[ "da" ] as DoubleAnimation; 
     TranslateTransform tr = this.Transform; 
     da.Completed -= DoubleAnimation_Completed; 
     da.RepeatBehavior = RepeatBehavior.Forever; 
     tr.BeginAnimation(TranslateTransform.XProperty, da); 
    } 

    private void Window_Loaded(object sender, RoutedEventArgs e) { 
     DoubleAnimation da = this.Resources[ "da" ] as DoubleAnimation; 
     TranslateTransform tr = this.Transform; 
     tr.BeginAnimation(TranslateTransform.XProperty, da); 
    }