DoubleAnimationUsingKeyFrames Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public ref class DoubleAnimationUsingKeyFrames 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 DoubleAnimationUsingKeyFrames 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 DoubleAnimationUsingKeyFrames : Timeline
Public NotInheritable Class DoubleAnimationUsingKeyFrames
Inherits Timeline
<DoubleAnimationUsingKeyFrames>
oneOrMoreDoubleKeyFrames
</DoubleAnimationUsingKeyFrames>
- Наследование
- Атрибуты
Примеры
В следующем примере прямоугольник перемещается по экрану. В примере используется класс DoubleAnimationUsingKeyFrames для анимации свойства XпереводаTransform , примененного к прямоугольнику. Эта анимация использует три ключевых кадра следующим образом:
- В течение первых трех секунд используется экземпляр класса LinearDoubleKeyFrame для перемещения прямоугольника вдоль пути с устойчивой скоростью от начальной позиции до позиции 500. Линейные ключевые кадры, такие как LinearDoubleKeyFrame , создают гладкий линейный переход между значениями.
- В конце четвертой секунды используется экземпляр класса DiscreteDoubleKeyFrame для внезапного перемещения прямоугольника на следующую позицию. Дискретные ключевые кадры, такие как DiscreteDoubleKeyFrame , создают внезапные переходы между значениями. В этом примере прямоугольник находится в начальной позиции, а затем внезапно появится в позиции 500.
- В последние две секунды используется экземпляр класса SplineDoubleKeyFrame для перемещения прямоугольника обратно в начальную позицию. Ключевые кадры spline, такие как SplineDoubleKeyFrame , создают переменный переход между значениями в соответствии со значением свойства KeySpline . В этом примере прямоугольник начинается медленно, а затем ускоряется экспоненциально в конце сегмента времени.
<StackPanel>
<StackPanel.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>
</StackPanel.Resources>
<Rectangle Fill="Blue" Width="50" Height="50" Loaded="Start_Animation">
<Rectangle.RenderTransform>
<TranslateTransform x:Name="MyAnimatedTranslateTransform"
X="0" Y="0" />
</Rectangle.RenderTransform>
</Rectangle>
</StackPanel>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
myStoryboard.Begin();
}
Конструкторы
| Имя | Описание |
|---|---|
| DoubleAnimationUsingKeyFrames() |
Инициализирует новый экземпляр класса DoubleAnimationUsingKeyFrames . |
Свойства
| Имя | Описание |
|---|---|
| AutoReverse |
Возвращает или задает значение, указывающее, воспроизводится ли временная шкала в обратном порядке после завершения итерации вперед. (Унаследовано от Timeline) |
| BeginTime |
Возвращает или задает время начала этой временной шкалы . (Унаследовано от Timeline) |
| Dispatcher |
Всегда возвращается |
| DispatcherQueue |
Возвращает, |
| Duration |
Возвращает или задает продолжительность времени, в течение которого эта временная шкала воспроизводится, не подсчитывая повторения. (Унаследовано от Timeline) |
| EnableDependentAnimation |
Возвращает или задает значение, указывающее, должны ли анимированные свойства, которые считаются зависимыми анимациями, использовать это объявление анимации. |
| EnableDependentAnimationProperty |
Определяет свойство зависимости EnableDependentAnimation . |
| FillBehavior |
Возвращает или задает значение, указывающее, как работает анимация после окончания его активного периода. (Унаследовано от Timeline) |
| KeyFrames |
Возвращает коллекцию объектов DoubleKeyFrame , определяющих анимацию. |
| 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) |