2015-06-01 21 views
1

這裏我的故事板如何通過故事板

<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的

<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

你嘗試'Storyboard.TargetProperty = 「批量」'? – Clemens

+0

當然,我確實...... :) – user3168511

回答

0

您需要在動畫上設置EnableDependentAnimation =「True」。默認情況下,只有系統可以告訴的動畫不會導致渲染和UI線程之間的依賴關係運行。除非應用程序明確啓用它們,否則將不明確已知爲安全的動畫屬性禁用。

有關詳細信息,請參閱MSDN上的Storyboarded animations文檔中的Dependent and independent 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> 
+0

謝謝羅。我在低端智能手機上使用這個選項的經驗不足。 – user3168511

+0

是的。這就是爲什麼依賴動畫默認是禁用的原因。在使用它們時需要注意性能,並且非常慎重地考慮它們何時適用於您的應用,以及何時可以使用其他更高性能的行爲 –