更改标签的内容,故事板
问题描述:
我在下面的代码标签:更改标签的内容,故事板
<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的标签会更好。
答
您可以运行一次动画,然后在完成的事件中更改标签的内容,然后继续运行动画。
您的代码将更加紧凑,如果您将动画的资源:
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);
}
你刚才说我,我怎样才能改变标签白色故事板的内容。 – 2012-03-08 08:52:56