でアニメーションを作成したいのですWPF
が、正しい方法がわかりません。アニメーションは非同期である必要があります。アニメーションは、成長する長方形でなければなりません (高さ)
. そのようなもののためのキャンバスオブジェクトは良い選択ですか?
多分あなたの誰かが私に役立つリンクを与えることができます. コードスニペットは必要ありません。
でアニメーションを作成したいのですWPF
が、正しい方法がわかりません。アニメーションは非同期である必要があります。アニメーションは、成長する長方形でなければなりません (高さ)
. そのようなもののためのキャンバスオブジェクトは良い選択ですか?
多分あなたの誰かが私に役立つリンクを与えることができます. コードスニペットは必要ありません。
リンク :
あなたの場合、問題は「高さが下に成長するか、上下両方に(50%)それぞれ」です。Rectangle を上方向にのみ成長させるには、小さな課題がいくつかあります。
Canvas.Top のような添付プロパティをアニメーション化する方法。(アプローチ1)
Scale Transform をアニメートする方法。(アプローチ2)
Canvasを使用して作業コードを投稿しています(アプローチ1)。
<Canvas Margin="482,125,206,10" Background="MediumSeaGreen">
<Rectangle x:Name="Rect" Fill="#FF030315" Height="100" Stroke="Black" Width="42" Canvas.Top="222">
<Rectangle.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard x:Name="Sb">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="(Canvas.Top)" Storyboard.TargetName="Rect" By="-100" Duration="0:0:5"/>
<DoubleAnimation Storyboard.TargetProperty="Height" Storyboard.TargetName="Rect" By="100" Duration="0:0:5"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<EventTrigger.Actions>
<PauseStoryboard BeginStoryboardName="Sb" />
</EventTrigger.Actions>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
</Canvas>