只是一个疑问。我的 WPF 应用程序中有三个图像。我将为这三个图像提供闪烁效果。所以我给出了这段代码。
<Storyboard x:Key ="AlarmBlink">
<DoubleAnimation
Storyboard.TargetName="Img1"
Storyboard.TargetProperty="Opacity"
From="1" To="0" Duration="0:0:0.1"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
这是第一个图像(Img1)的。所以我必须给出其他两个图像。我可以在以前的编码中给出多个目标名称吗?
否则我必须复制并粘贴相同的编码并更改目标名称。
有什么办法可以提供单一编码吗?
您不能将多个 Storyboard.TargetName 放入 DoubleAnimation 中,但有一种更好的方法:使用数据绑定将三个不透明度值绑定在一起,然后仅对其中一个值进行动画处理,其他值也会发生变化。
注意:为了避免创建绑定时的不对称,您可能需要使用以下附加技术:
- 使用 Visibility="Collapsed" 创建第四个控件,这样您就永远看不到它
- 为该控件的不透明度设置动画
- 将所有三个可见控件的不透明度绑定到不可见控件的不透明度。
另一种选择是使用单个 DoubleAnimation 并使用隐藏代码将其应用于所有三个图像,而不是使用 WPF 的 StoryBoard 机制。这为您提供了更多控制权,但需要您编写隐藏代码。
一般来说,我坚持使用绑定解决方案,因为它最简单。无论如何,剪切粘贴解决方案通常是最糟糕的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)