我有一个Windows 8.1应用程序,其Progress定义如下
<ProgressBar x:Name="myProgressBar" Opacity="1" Minimum="0" Maximum="100" Value="0"/>
我将以下StoryBoard动画定义如下。
<Storyboard x:Name="myStoryBoard">
<DoubleAnimation Storyboard.TargetName="myProgressBar"
Storyboard.TargetProperty="Value"
From="0"
To="100"
Duration="00:00:04" />
</Storyboard>
这个C#代码后面调用了Storyboard的begin函数。
myStoryBoard.Begin();
但我没有看到ProgressBar的Value Property发生任何变化。
但是,如果我为同一个ProgressBar的Opacity属性应用类似的StoryBoard动画,它可以无缝地工作,我可以看到ProgressBar按预期逐渐消失。
<Storyboard x:Name="myOpacityStoryBoard">
<DoubleAnimation Storyboard.TargetName="myProgressBar"
Storyboard.TargetProperty="Opacity"
From="1"
To="0"
Duration="0:0:4">
</Storyboard>
我不确定发生了什么。我检查了Value Property是一个双倍,就像Opacity一样。我做错了吗?
如果有人能指导我朝着正确的方向前进,我会很高兴。
答案 0 :(得分:3)
您只需要为动画添加EnableDependentAnimation="True"
。
<Storyboard x:Name="myStoryBoard">
<DoubleAnimation Storyboard.TargetName="myProgressBar"
Storyboard.TargetProperty="Value"
EnableDependentAnimation="True"
From="0"
To="100"
Duration="00:00:04" />
</Storyboard>