1

つまり、現在の値から新しい値にアニメーション化する方法は知っていますが、アニメーションが実行される前にアニメーション化して値に戻す方法がわかりません(そして見つけることができません)。

つまり、現在の背景が黄色だとします。いくつかのロジックに基づいて背景を赤でフラッシュしたいのですが、その赤から再び黄色にフェードバックしたいと思います。透明は、背景値を「透明」に置き換え、フェードスルーしないため、ここでは機能しません。

また、実行後にアニメーション値を「適用解除」するために使用できるFillBehaviorプロパティについても言及していません。また、アニメーションを自動反転することについても言及していません。これは、最初に実行する必要があることを意味します。必要な瞬間のパルスではなく、赤にフェードします。

私がこれまでに見つけた唯一の方法は、これをコードビハインドで行うことですが、それは論理的に物事を配置することに関する独自の問題をもたらします。'To'値を事前にアニメーション化された値に設定したいだけです。どうすればそれができますか?

4

1 に答える 1

1

このサンプルのようにのみ、ColorAnimation.Fromプロパティを使用します。

<StackPanel>
    <StackPanel.Resources>
        <Style TargetType="TextBox">
            <Style.Triggers>
                <EventTrigger RoutedEvent="MouseEnter">
                    <BeginStoryboard>
                        <BeginStoryboard.Storyboard>
                            <Storyboard>
                                <ColorAnimation Storyboard.TargetProperty="Background.Color"
                                                From="Red" Duration="0:0:1" />
                            </Storyboard>
                        </BeginStoryboard.Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </StackPanel.Resources>
    <TextBox Text="AAA" Background="Yellow" />
    <TextBox Text="BBB" Background="Blue" />
</StackPanel>
于 2012-05-17T12:04:29.320 に答える