你可以做这样的事情,其概念只是给出股票的错觉。在连接数据绑定时删除Framework.Loaded
触发器。红色/绿色文本是为了说明你想要的错觉。其中绿色将通过一次性保留原始价值,红色将是新价值。还要记得从示例链接中添加NotifyTargetUpdated binding thingy到绑定基础。当然,你可能需要调整一些数值才能得到你想要的结果。
另外不要忘记从故事板中删除RepeatBehavior="Forever"
,因为它也只是为了这个初始示例。
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10" ClipToBounds="True">
<Grid.Resources>
<Storyboard x:Key="flipItGood" Duration="0:0:2" RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)"
Storyboard.TargetName="A">
<EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)"
Storyboard.TargetName="B">
<EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="20"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Grid.Resources>
<Grid.Triggers>
<!-- THIS IS HERE ONLY FOR AN IMMEDIATE EXAMPLE
DITCH THIS TRIGGER FOR THE TARGET.UPDATED ONE WHEN ACTUALLY USING -->
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource flipItGood}"/>
</EventTrigger>
</Grid.Triggers>
<TextBlock x:Name="A"
Text="BIND ME"
Foreground="Red" FontSize="18" FontWeight="Bold"
RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform Y="-20"/>
</TransformGroup>
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="Binding.TargetUpdated">
<BeginStoryboard Storyboard="{StaticResource flipItGood}"/>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
<TextBlock x:Name="B"
Text="BIND ME" FontSize="18" FontWeight="Bold"
Foreground="Green" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Grid>
哪个结果(抱歉蹩脚的gif);
希望这有助于欢呼声。
嗨,非常感谢你,我试图测试你的例子,但我没有设法使其工作(我没有真正使用WPF中的很多动画)。我想我不明白它应该如何工作(我是否需要将Text值绑定到文本块A和文本块B?(我用我的整个代码编辑了我的第一篇文章)谢谢:) – user2088807