DoubleAnimation クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
public ref class DoubleAnimation sealed : Timeline
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DoubleAnimation : Timeline
Public NotInheritable Class DoubleAnimation
Inherits Timeline
<DoubleAnimation />
- 継承
- 属性
例
次の例は、 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();
}
<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();
}
注釈
DoubleAnimation を使用して、 Double 型の依存関係プロパティのプロパティ値をアニメーション化します。
ターゲットのプロパティの値である別のオブジェクトのサブプロパティをターゲットにするには、間接プロパティ のターゲット設定を使用する必要がある場合があります。 たとえば、UIElement の RenderTransform の X コンポーネントをアニメーション化するには、TranslateTransform.X の場合と同様に、間接プロパティ パスの最後のステップが真に Double 値になるまで、中間オブジェクト プロパティ値の一部を参照する必要があります。 この例の Storyboard.TargetProperty に使用する正しい文字列は、"(UIElement.RenderTransform) です。(TranslateTransform.X)" 間接プロパティのターゲット設定とその他のストーリーボードアニメーションの概念の詳細については、「 ストーリーボード化されたアニメーション」を参照してください。
DoubleAnimation には通常、 From、 By 、または To プロパティの少なくとも 1 つが設定されますが、3 つすべてが設定されることはありません。
- [From only]\(のみ\): アニメーションは、 From プロパティで指定された値から、アニメーション化されるプロパティの基本値まで進行します。
- From と To:アニメーションは、From プロパティで指定された値から To プロパティで指定された値まで進行します。
- From と By: アニメーションは、From プロパティで指定された値から 、FromプロパティとBy プロパティの合計で指定された値まで進行します。
- To only: アニメーションは、アニメーション化されたプロパティの基本値または前のアニメーションの出力値から 、To プロパティで指定された値まで進行します。
- のみ: アニメーションは、アニメーション化されているプロパティの基本値または前のアニメーションの出力値から、その値と By プロパティで指定された値の合計まで進行します。
これらのプロパティは依存関係プロパティでないため、DoubleAnimation を使用して Point の X 値と Y 値をアニメーション化することはできません (Point は構造体であり、依存関係プロパティを持つことができません)。代わりに、PointAnimation を使用して、Point 値を持つ依存関係プロパティをアニメーション化します。
DoubleAnimation を使用して int 値または バイト 値をアニメーション化することもできません。 代わりに、 ObjectAnimationUsingKeyFrames を使用する必要があります。これは補間動作を提供しないため、合理的に滑らかなアニメーションを得るために複数のキーフレームを定義する必要がある場合があります。 int 値またはバイト値を使用する UI 関連の依存関係プロパティはあまりないため、カスタム プロパティ以外の一般的なシナリオではないようにしてください。
DoubleAnimation の From プロパティ、 Byプロパティ、 To プロパティは、厳密には Double というわけではありません。 代わりに、これらは Double の Null 許容です。 これらの既定値は null であり、0 ではありません。 この null 値は、アニメーション システムが値を明示的に設定していないことを識別する方法です。 Visual C++ コンポーネント拡張機能 (C++/CX) には Nullable 型がないため、代わりに IReference を使います。
コンストラクター
DoubleAnimation() |
DoubleAnimation クラスの新しいインスタンスを初期化します。 |
プロパティ
AutoReverse |
順方向の反復の完了後に、タイムラインを逆方向に再生するかどうかを示す値を取得または設定します。 (継承元 Timeline) |
BeginTime |
この タイムライン を開始する時刻を取得または設定します。 (継承元 Timeline) |
By |
アニメーションの開始値の変化値の総量を取得または設定します。 |
ByProperty |
By 依存関係プロパティを識別します。 |
Dispatcher |
常に Windows アプリ SDK アプリで を返します |
DispatcherQueue |
このオブジェクトが |
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) |