0

次の例を検討してください(MSDNサンプルから取得)

<Style TargetType="Rectangle">
  <Style.Triggers>
    <EventTrigger RoutedEvent="MouseEnter">
        <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation To="300" Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
    <EventTrigger RoutedEvent="MouseLeave">
        <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation Duration="0:0:1.5" 
                AccelerationRatio="0.10" DecelerationRatio="0.25" 
                Storyboard.TargetProperty="(Canvas.Width)" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
  </Style.Triggers>
</Style>

MouseEnter イベント用と Mouse leave イベント用の 2 つのアニメーションがあります。

Mouse Leave イベントのアニメーションでは、Duration のみが指定されていることに注意してください。From/To.By が指定されていません。From/To/Byのいずれかを指定したDoubleAnimationの備考欄を指定する必要があります。私の質問は、このアニメーションがどのように機能するかです。長方形の元の値をToアニメーションの値として考慮していますか。

4

1 に答える 1

1

デフォルト値に戻ることで機能します。あなたが参照した表は、from/to/by のさまざまな組み合わせが使用された場合の動作のみを指定しています。

各ストーリーボードは独立しているため、他のストーリーボードが行ったことを追跡しません。そのため、最初のストーリーボードは定義された幅に移行し、2 つ目は元の値に移行します。

于 2013-05-29T03:12:57.993 に答える