这是我的StoryBoard
<Storyboard x:Name="SB_BattleSound">
<DoubleAnimation
x:Name="BattleSound"
Duration="0:0:0.5"
Storyboard.TargetProperty="(MediaElement.Volume)"
Storyboard.TargetName="battle"
d:IsOptimized="True">
</DoubleAnimation>
</Storyboard>
这里是MediaElement
<MediaElement x:Name="battle" Source="Assets/Sounds/battle.mp3" Volume="0.0" IsLooping="True" AutoPlay="True" Height="0" Width="0" />
这里是淡入淡出的
BattleSound.From = 0.0;
BattleSound.To = 0.8;
SB_BattleSound.Begin();
没有错误但也没有效果。我想目标属性有什么东西可用吗?
答案 0 :(得分:0)
您需要设置EnableDependentAnimation =&#34; True&#34;在你的动画上。默认情况下,只有系统能够分辨的动画才会导致渲染和UI线程之间的依赖关系运行。除非明确启用它们,否则将禁用未明确知道安全的动画属性。
有关详细信息,请参阅MSDN上Dependent and independent animations文档中的Storyboarded animations。
这符合我的想法:
<Storyboard x:Name="SB_BattleSound">
<DoubleAnimation
x:Name="BattleSound"
Duration="0:0:0.5"
Storyboard.TargetProperty="(MediaElement.Volume)"
Storyboard.TargetName="battle"
EnableDependentAnimation="True"
d:IsOptimized="True">
</DoubleAnimation>
</Storyboard>