7
我想在一個標籤上做一個動畫序列,例如,首先做值不透明的動畫從0到1,反之亦然,只是在不透明度動畫,不在前景動畫之前。我想在XAML代碼中完成它,然後從C#代碼開始並完成de動畫。哪種做法最好,最有效?XAML C#WPF最有效的方法來做一個有序的動畫序列
歡迎各位回覆!
在此先感謝。
我想在一個標籤上做一個動畫序列,例如,首先做值不透明的動畫從0到1,反之亦然,只是在不透明度動畫,不在前景動畫之前。我想在XAML代碼中完成它,然後從C#代碼開始並完成de動畫。哪種做法最好,最有效?XAML C#WPF最有效的方法來做一個有序的動畫序列
歡迎各位回覆!
在此先感謝。
最簡單的方法是使用合適的BeginTime
和Duration
屬性在單個故事板中定義整個動畫。這樣整個動畫可以作爲一個單元開始和停止,但是你可以有不同的序列。
例如:
<Storyboard Duration="0:00:06">
<DoubleAnimation Duration="0:0:4" Storyboard.TargetName="gear1RotateTransform" Storyboard.TargetProperty="Angle" From="-600" To="0"/>
<DoubleAnimation Duration="0:0:4" Storyboard.TargetName="gear2RotateTransform" Storyboard.TargetProperty="Angle" From="600" To="0"/>
<DoubleAnimation Duration="0:0:4" Storyboard.TargetName="gear3RotateTransform" Storyboard.TargetProperty="Angle" From="-600" To="0"/>
<DoubleAnimation BeginTime="0:0:1" Duration="0:00:02" Storyboard.TargetName="firstLetter" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
<DoubleAnimation BeginTime="0:0:2" Duration="0:00:02" Storyboard.TargetName="secondLetter" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
<DoubleAnimation BeginTime="0:0:3" Duration="0:00:02" Storyboard.TargetName="thirdLetter" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
<DoubleAnimation BeginTime="0:0:4" Duration="0:00:02" Storyboard.TargetName="siteLink" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
<DoubleAnimation BeginTime="0:0:4" Duration="0:00:02" Storyboard.TargetName="siteLinkTop" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
</Storyboard>
此故事板改變在3旋轉的值變換爲第4秒,但對firstLetter
項目的不透明度不開始改變,直到一秒後已經過去和它只運行2秒。 siteLink
和siteLinkTop
元素在4秒後沒有改變其透明度(並且齒輪旋轉動畫已經完成)。