Язык

PointAnimationUsingKeyFrames Класс

Определение

Анимирует значение свойства Point вместе с набором ключевых кадров.

public ref class PointAnimationUsingKeyFrames sealed : Timeline
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
/// [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 PointAnimationUsingKeyFrames final : Timeline
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
[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 PointAnimationUsingKeyFrames : Timeline
Public NotInheritable Class PointAnimationUsingKeyFrames
Inherits Timeline
<PointAnimationUsingKeyFrames>
  oneOrMorePointKeyFrames
</PointAnimationUsingKeyFrames>
Наследование
Object Platform::Object IInspectable DependencyObject Timeline PointAnimationUsingKeyFrames
Атрибуты

Примеры

В следующем примере многоточие перемещается по треугольному пути. В примере используется класс PointAnimationUsingKeyFrames для анимации свойства CenterэллипсеGeometry. Эта анимация использует три ключевых кадра следующим образом:

  1. Во время первой половины секунды используется экземпляр класса LinearPointKeyFrame для перемещения многоточия вдоль пути с устойчивой скоростью от начальной позиции. Линейные ключевые кадры, такие как LinearPointKeyFrame , создают гладкую линейную интерполяцию между значениями.
  2. В конце следующей половины секунды используется экземпляр класса DiscretePointKeyFrame для внезапного перемещения многоточия вдоль пути к следующей позиции. Дискретные ключевые кадры, такие как DiscretePointKeyFrame , создают внезапные переходы между значениями.
  3. В течение последних двух секунд используется экземпляр класса SplinePointKeyFrame для перемещения многоточия обратно в начальную позицию. Ключевые кадры spline, такие как SplinePointKeyFrame , создают переменную перехода между значениями свойства KeySpline . В этом примере анимация начинается медленно и ускоряется экспоненциально к концу сегмента времени.
<Canvas Width="400" Height="300">
    <Canvas.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animating the Center property uses 3 KeyFrames, which animate
             the ellipse allong a triangular path. -->
            <PointAnimationUsingKeyFrames
          Storyboard.TargetProperty="Center"
          Storyboard.TargetName="MyAnimatedEllipseGeometry"
          Duration="0:0:5" RepeatBehavior="Forever" EnableDependentAnimation="True">

                <!-- Over the first half second, Using a LinearPointKeyFrame, the ellipse 
               moves steadily from its starting position along the first line of the 
               trianglar path.  -->
                <LinearPointKeyFrame KeyTime="0:0:0.5" Value="100,300" />

                <!-- Using a DiscretePointKeyFrame, the ellipse suddenly changes position
               after the first second of the animation. -->
                <DiscretePointKeyFrame KeyTime="0:0:1" Value="400,300" />

                <!-- Using a SplinePointKeyFrame, the ellipse moves back to its starting
               position. It moves slowly at first and then speeds up. This key frame 
               takes 2 seconds to complete. -->
                <SplinePointKeyFrame KeySpline="0.6,0.0 0.9,0.00" 
                 KeyTime="0:0:3" Value="200,100" />
            </PointAnimationUsingKeyFrames>
        </Storyboard>
    </Canvas.Resources>
    <Path Fill="Blue" Loaded="Start_Animation">
        <Path.Data>

            <!-- Describes an ellipse. -->
            <EllipseGeometry x:Name="MyAnimatedEllipseGeometry"
             Center="200,100" RadiusX="15" RadiusY="15" />
        </Path.Data>
    </Path>
</Canvas>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}

Конструкторы

Имя Описание
PointAnimationUsingKeyFrames()

Инициализирует новый экземпляр класса PointAnimationUsingKeyFrames .

Свойства

Имя Описание
AutoReverse

Возвращает или задает значение, указывающее, воспроизводится ли временная шкала в обратном порядке после завершения итерации вперед.

(Унаследовано от Timeline)
BeginTime

Возвращает или задает время начала этой временной шкалы .

(Унаследовано от Timeline)
Dispatcher

Всегда возвращается null в приложении пакета SDK для приложений windows. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает, DispatcherQueue с которым связан этот объект. Представляет DispatcherQueue собой объект, который может получить доступ к DependencyObject потоку пользовательского интерфейса, даже если код инициируется потоком, отличным от пользовательского интерфейса.

(Унаследовано от DependencyObject)
Duration

Возвращает или задает продолжительность времени, в течение которого эта временная шкала воспроизводится, не подсчитывая повторения.

(Унаследовано от Timeline)
EnableDependentAnimation

Возвращает или задает значение, указывающее, должны ли анимированные свойства, которые считаются зависимыми анимациями, использовать это объявление анимации.

EnableDependentAnimationProperty

Определяет свойство зависимости EnableDependentAnimation .

FillBehavior

Возвращает или задает значение, указывающее, как работает анимация после окончания его активного периода.

(Унаследовано от Timeline)
KeyFrames

Возвращает коллекцию объектов PointKeyFrame , определяющих анимацию.

RepeatBehavior

Возвращает или задает повторяющееся поведение этой временной шкалы.

(Унаследовано от Timeline)
SpeedRatio

Получает или задает частоту относительно родительского элемента, в течение которого выполняется для этой временной шкалы.

(Унаследовано от Timeline)

Методы

Имя Описание
ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое будет применяться в случаях, когда анимация не активна.

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее эффективное значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомлений для прослушивания изменений в определенном экземпляре DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей в DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменении, которое ранее было зарегистрировано путем вызова RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

События

Имя Описание
Completed

Происходит при завершении воспроизведения объекта Storyboard .

(Унаследовано от Timeline)

Применяется к

См. также раздел