次の方法で共有


DoubleAnimation クラス

定義

指定した Duration の線形補間を使用して、2 つのターゲット値の間の Double プロパティの値をアニメーション化 します

public ref class DoubleAnimation sealed : Timeline
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DoubleAnimation final : Timeline
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class DoubleAnimation final : Timeline
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DoubleAnimation : Timeline
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DoubleAnimation : Timeline
Public NotInheritable Class DoubleAnimation
Inherits Timeline
<DoubleAnimation />
継承
Object Platform::Object IInspectable DependencyObject Timeline DoubleAnimation
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

次の例は 、DoubleAnimation を使用して、読み込まれた後にフェードインおよびフェードアウトする四角形を作成する方法を示しています。

<StackPanel>
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
            <DoubleAnimation
          Storyboard.TargetName="MyAnimatedRectangle"
          Storyboard.TargetProperty="Opacity"
          From="1.0" To="0.0" Duration="0:0:3"
          AutoReverse="True" RepeatBehavior="Forever" />
        </Storyboard>
    </StackPanel.Resources>

    <Rectangle Loaded="Start_Animation" x:Name="MyAnimatedRectangle"
     Width="100" Height="100" Fill="Blue" />

</StackPanel>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
    myStoryboard.Begin()
End Sub
<Canvas>
    <Canvas.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animate the TranslateTransform's X property
           from 0 to 350, then 50, then 200 over 10 seconds. -->
            <DoubleAnimationUsingKeyFrames
       Storyboard.TargetName="MyAnimatedTranslateTransform"
       Storyboard.TargetProperty="X"
       Duration="0:0:10" EnableDependentAnimation="True">

                <!-- Using a LinearDoubleKeyFrame, the rectangle moves 
           steadily from its starting position to 500 over 
           the first 3 seconds.  -->
                <LinearDoubleKeyFrame Value="500" KeyTime="0:0:3" />

                <!-- Using a DiscreteDoubleKeyFrame, the rectangle suddenly 
           appears at 400 after the fourth second of the animation. -->
                <DiscreteDoubleKeyFrame Value="400" KeyTime="0:0:4" />

                <!-- Using a SplineDoubleKeyFrame, the rectangle moves 
           back to its starting point. The animation starts out slowly at 
           first and then speeds up. This KeyFrame ends after the 6th
           second. -->
                <SplineDoubleKeyFrame KeySpline="0.6,0.0 0.9,0.00" Value="0" KeyTime="0:0:6" />

            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </Canvas.Resources>

    <Rectangle PointerPressed="Pointer_Clicked" Fill="Blue"
 Width="50" Height="50">
        <Rectangle.RenderTransform>
            <TranslateTransform x:Name="MyAnimatedTranslateTransform" />
        </Rectangle.RenderTransform>
    </Rectangle>

</Canvas>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
    myStoryboard.Begin()
End Sub

注釈

DoubleAnimation を使用して、 Double 型の依存関係プロパティのプロパティ値をアニメーション化します。

ターゲットのプロパティの値である別のオブジェクトのサブプロパティをターゲットにするには、間接プロパティ ターゲットを使用する必要がある場合があります。 たとえば、UIElement の RenderTransform の X コンポーネントをアニメーション化するには、TranslateTransform.X の場合と同様に、間接プロパティ パスの最後の手順が真に Double 値になるまで、中間オブジェクト プロパティ値の一部を参照する必要があります。 この例で Storyboard.TargetProperty に使用する正しい文字列は"(UIElement.RenderTransform) です。(TranslateTransform.X)"。 間接プロパティのターゲット設定とその他のストーリーボードアニメーションの概念の詳細については、「 ストーリーボード化されたアニメーション」を参照してください。

通常、DoubleAnimation には FromByまたは To プロパティの少なくとも 1 つが設定されますが、3 つすべてが設定されることはありません。

  • [From only]\(のみ\): アニメーションは、 From プロパティで指定された値から、アニメーション化されるプロパティの基本値まで進行します。
  • From と To: アニメーションは、 From プロパティで指定された値から To プロパティで指定された値まで進行します。
  • From と By: アニメーションは、From プロパティで指定された値から 、FromプロパティとBy プロパティの合計で指定された値まで進行します。
  • 次の場合のみ: アニメーションは、アニメーション化されたプロパティの基本値または前のアニメーションの出力値から 、To プロパティで指定された値まで進行します。
  • のみ: アニメーション化されているプロパティの基本値または前のアニメーションの出力値から、その値と By プロパティで指定された値の合計までアニメーションが進行します。

これらのプロパティは依存関係プロパティではないので、DoubleAnimation を使用して PointX 値と Y 値をアニメーション化することはできません (Point は構造体であり、依存関係プロパティを持つことができません)。代わりに、PointAnimation を使用して、Point 値を持つ依存関係プロパティをアニメーション化します。

DoubleAnimation を使用して int 値や バイト 値をアニメーション化することもできません。 代わりに、 ObjectAnimationUsingKeyFrames を使用する必要があります。これは補間動作を提供しないため、合理的に滑らかなアニメーションを得るために複数のキーフレームを定義する必要がある場合があります。 int 値やバイト値を使用する UI 関連の依存関係プロパティはあまりないため、これはカスタム プロパティ以外の一般的なシナリオではありません。

DoubleAnimation の FromBy、To の各プロパティは、厳密には Double ではありません。 代わりに、これらは DoubleNull 許容です。 これらの既定値は null であり、0 ではありません。 この null 値は、アニメーション システムが値を具体的に設定していないことを区別する方法です。 Visual C++ コンポーネント拡張機能 (C++/CX) には Nullable 型がないため、代わりに IReference を使います。

コンストラクター

DoubleAnimation()

DoubleAnimation クラスの新しいインスタンスを初期化します。

プロパティ

AutoReverse

順方向の反復の完了後に、タイムラインを逆方向に再生するかどうかを示す値を取得または設定します。

(継承元 Timeline)
BeginTime

この タイムライン を開始する時刻を取得または設定します。

(継承元 Timeline)
By

アニメーションの開始値の変化値の総量を取得または設定します。

ByProperty

By 依存関係プロパティを識別します。

Dispatcher

このオブジェクトが関連付けられている CoreDispatcher を取得します。 CoreDispatcher は、コードが UI 以外のスレッドによって開始された場合でも、UI スレッド上の DependencyObject にアクセスできる機能を表します。

(継承元 DependencyObject)
Duration

繰り返しをカウントせずに、このタイムラインの再生に要する時間を取得または設定します。

(継承元 Timeline)
EasingFunction

このアニメーションに適用されているイージング機能を取得または設定します。

EasingFunctionProperty

EasingFunction 依存関係プロパティを識別します。

EnableDependentAnimation

依存アニメーションと見なされるアニメーション化されたプロパティに、このアニメーション宣言の使用を許可するかどうかを宣言する値を取得または設定します。

EnableDependentAnimationProperty

EnableDependentAnimation 依存関係プロパティを識別します。

FillBehavior

アニメーションがアクティブ期間の終わりに達した後の動作を指定する値を取得または設定します。

(継承元 Timeline)
From

アニメーションの開始値を取得または設定します。

FromProperty

From 依存関係プロパティを識別します。

RepeatBehavior

このタイムラインの繰り返し動作を取得または設定します。

(継承元 Timeline)
SpeedRatio

このタイムラインの進行状況を示す、親に対する相対的なレートを取得または設定 します

(継承元 Timeline)
To

アニメーションの終了値を取得または設定します。

ToProperty

To 依存関係プロパティを識別します。

メソッド

ClearValue(DependencyProperty)

依存関係プロパティのローカル値をクリアします。

(継承元 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

依存関係プロパティに対して確立された基本値を返します。これは、アニメーションがアクティブでない場合に適用されます。

(継承元 DependencyObject)
GetValue(DependencyProperty)

DependencyObject から依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
ReadLocalValue(DependencyProperty)

ローカル値が設定されている場合は、依存関係プロパティのローカル値を返します。

(継承元 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

この DependencyObject インスタンスの特定の DependencyProperty に対する変更をリッスンするための通知関数を登録します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback を呼び出して以前に登録した変更通知を取り消します。

(継承元 DependencyObject)

イベント

Completed

Storyboard オブジェクトの再生が完了したときに発生します。

(継承元 Timeline)

適用対象

こちらもご覧ください