Flo*_*yon 8 wpf animation synchronization styles
我有几个类似切换的按钮,当我处于按下状态时,我希望它们齐声搏动.
我已经定义了一个带有触发器的样式,该触发器可以启动发光动画,除了每个按钮与其他按钮异步脉动这一事实之外,它的工作正常.
如何让每个按钮与其他按钮同步?
这是风格:
<Storyboard x:Key="pulseStory">
<ColorAnimation
Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)"
From="Red"
To="Transparent"
Duration="0:0:1" />
</Storyboard>
<Style x:Key="pulseButton" TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding Tag,RelativeSource={RelativeSource Self}}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource pulseStory}"/>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
干杯!
实际上你应该通过资源来做到这一点,至少使用隐藏控件对我个人来说有点太多了。
需要满足什么条件才能发挥作用:
<DoubleAnimation
Storyboard.Target="{StaticResource AnimationValue}"
Storyboard.TargetProperty="(local:WrappedValue.Value)"
To="0" Duration="0:0:1"/>
Run Code Online (Sandbox Code Playgroud)
好吧,诚然,为此拥有一个包装类也有点hacky,但它比完全控件更干净(如果您想使用控件,您可以利用一些未使用的属性Tag,例如托管所有控件的容器的属性)