KeyTime 構造体
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アニメーションの中で特定のキー フレームが発生するタイミングを指定します。
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
struct KeyTime
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
public struct KeyTime
Public Structure KeyTime
<object property="[days.]hours:minutes:seconds[.fractionalSeconds]"/>
- 継承
-
KeyTime
- 属性
例
この例では、XAML 属性構文を使用して、複数の種類の DoubleAnimationUsingKeyFrames クラスに KeyTime 値を設定します。
<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();
}
注釈
各キー フレームの KeyTime プロパティは、そのキー フレームが終了するタイミングを指定します。 キー フレームの再生時間は指定されません。 キー フレームが再生される時間の長さは、そのキー フレームの終了時刻、前のキー フレームの終了時刻、およびアニメーションの継続時間によって決まります。
:や などの時間スパン リテラル文字を含まない整数でのみ KeyTime を指定すると、その日数の KeyTime になります。 これが意図した結果となることはほとんどありません。 通常、期間は秒単位で指定します。 したがって、KeyTime 文字列には、通常、時間と分の前に 0 の値が含まれます。リテラル は 、時間、分、秒の間の区切り記号として含まれます。 たとえば、5 秒の KeyTime を指定する場合、正しい文字列は "0:0:5" です ("0:0:05" は同等です)。
XAML 構文に関する注意事項
KeyTime を ResourceDictionary で共有可能なオブジェクトとして宣言することはできません。
KeyTime のプロジェクションとメンバー
Microsoft .NET 言語 (C# または Microsoft Visual Basic)、または Visual C++ コンポーネント拡張機能 (C++/CX) を使用している場合、KeyTime にはいくつかのユーティリティ メソッドがあり、そのデータ メンバー TimeSpan はフィールドではなく読み取り専用プロパティとして公開されます。
Microsoft .NET の場合、Duration は TimeSpan、FromTimeSpan メソッド、および Implicit 演算子の TimeSpan.Parse を公開します。 これらは Visual C++ コンポーネント拡張機能 (C++/CX) の 構造体からは使用できませんが、 KeyTimeHelper.FromTimeSpan を使用できます。
Windows ランタイム テンプレート ライブラリ (WRL) を使用して C++ を使用してプログラミングする場合、データ メンバー フィールド TimeSpan のみが KeyTime のメンバーとして存在します。 WRL コードは、KeyTimeHelper クラスに存在する FromTimeSpan にアクセスできます。
フィールド
TimeSpan |
この KeyTime の時間コンポーネント。 |