简而言之,我的问题是:我可以在故事板的持续时间属性中使用数据绑定吗?
我的目的是设计一个循环进度条,我有一个简单的计数器。现在基于计数器,我想改变动画的持续时间。有什么方法可以通过数据绑定实现这一点,还是有其他方法。
我正在使用Arc来创建进度条效果,如下所示。当DependencyProperty PauseAnimation变为false时,我的动画开始。当它设置为true时,它会重置(我无法找到暂停动画的方法,所以我将其重置为从开始开始)。以下代码运行完美,但我无法设置故事板的持续时间。我想根据我控制中的属性更改它。我能做到吗?
<ed:Arc x:Name="AnimatingArc" ArcThickness="2" ArcThicknessUnit="Pixel" StartAngle="0" EndAngle="360" Fill="{DynamicResource ApplicationPrimaryColour}" HorizontalAlignment="Left" Height="25" Stretch="None" Stroke="Transparent" VerticalAlignment="Top" Width="25" Margin="8,47,0,0">
<ed:Arc.Style>
<Style TargetType="{x:Type ed:Arc}">
<Style.Triggers>
<DataTrigger Binding="{Binding PauseAnimation}" Value="false">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="StartAngle" From="0" To="360" Duration="0:0:30" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="StartAngle" To="0" Duration="0:0:10" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</ed:Arc.Style>