gpt4 book ai didi

c# - 带动画的多重触发

转载 作者:行者123 更新时间:2023-12-03 10:37:55 24 4
gpt4 key购买 nike

我有以下带有动画的TextBlock

<TextBlock Text="{Binding StatusMessage}" 
Margin="5,0,0,0"
Foreground="White">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSystemReady,
NotifyOnSourceUpdated=True,
Mode=OneWay}"
Value="False">
<DataTrigger.EnterActions>
<BeginStoryboard Name="FadeOut">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
From="1.0"
To="0.0"
Duration="0:0:3.5"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding IsSystemReady,
NotifyOnSourceUpdated=True,
Mode=OneWay}"
Value="True">
<DataTrigger.EnterActions>
<StopStoryboard BeginStoryboardName="FadeOut" />
</DataTrigger.EnterActions>
<Setter Property="Opacity" Value="1.0"/>
</DataTrigger>
<Trigger Property="Opacity" Value="0.0">
<Setter Property="Text" Value="Ready"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>

动画有效,但是完成时(即控件的“不透明度”为0.0),我想在状态消息已显示并优雅消失后自动返回到就绪状态。我正在尝试使用标准的 Trigger来执行此操作,但这并未触发, 为什么以及如何解决此问题?

谢谢你的时间。

最佳答案

Trigger不会触发,因为Opacity属性仍被动画锁定,但是如果要使用Text,则可以使用动画来更改ObjectAnimation值。

例子:

<BeginStoryboard Name="FadeOut">
<Storyboard >
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1.0" To="0.0" Duration="0:0:3.5"/>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Text" BeginTime="0:0:3.5" >
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Ready" />
</ObjectAnimationUsingKeyFrames>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1.0" To="1.0" BeginTime="0:0:3.5"/>
</Storyboard>
</BeginStoryboard>

但是,在“动画”中将 Text设置为 Ready不会将 StatusMessage属性设置为 Ready

关于c# - 带动画的多重触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com