我已经设置了一个文本块来设置alrm时钟熄灭时添加的字符串“ALARM”。该代码适用于此过程。当闹钟响起时,我试图让这个字符串“ALARM”(或文本块本身)闪烁。
我能够计算出代码,使字符串“ALARM”淡出淡出使用鼠标事件,但无法弄清楚如何在没有鼠标事件的情况下实现它。我尝试了textBlock_Loaded事件,但这不起作用。我希望淡入淡出在循环中永远持续进行,以创建闪烁效果。
如果有适合我需要的活动,请提供建议。在可用事件列表中逐个尝试但没有成功。我的鼠标事件代码如下。感谢任何建议。谢谢。
private void textBlock3_MouseLeave(object sender, MouseEventArgs e)
{
TextBlock textblk = (TextBlock)sender;
DoubleAnimation animation = new DoubleAnimation(0, TimeSpan.FromSeconds(2));
textblk.BeginAnimation(TextBlock.OpacityProperty, animation);
}
private void textBlock3_MouseEnter(object sender, MouseEventArgs e)
{
TextBlock textblk = (TextBlock)sender;
DoubleAnimation animation = new DoubleAnimation(1, TimeSpan.FromSeconds(2));
textblk.BeginAnimation(TextBlock.OpacityProperty, animation);
}
答案 0 :(得分:1)
您需要的只是EventTrigger
“加载”事件。将RepeatBehavior
设置为“永远”,以便故事板不断重复,并AutoReverse
为“True”:
<TextBlock x:Name="textBlock3" Text="hello world">
<TextBlock.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever" AutoReverse="True">
<DoubleAnimation Storyboard.TargetProperty="Opacity"
Duration="0:0:1"
To="0"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>