1

でアニメーションを作成したいのですWPFが、正しい方法がわかりません。アニメーションは非同期である必要があります。アニメーションは、成長する長方形でなければなりません (高さ)

画像

. そのようなもののためのキャンバスオブジェクトは良い選択ですか?

多分あなたの誰かが私に役立つリンクを与えることができます. コードスニペットは必要ありません。

4

1 に答える 1

0

リンク :

  1. アニメーションの概要 : MSDN

  2. アニメーションのハウツー : MSDN

あなたの場合、問題は「高さが下に成長するか、上下両方に(50%)それぞれ」です。Rectangle を上方向にのみ成長させるには、小さな課題がいくつかあります。

  1. Canvas.Top のような添付プロパティをアニメーション化する方法。(アプローチ1)

  2. 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>
于 2015-12-27T07:05:10.023 に答える