ObjectAnimationUsingKeyFrames Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Анимирует значение свойства Object вместе с набором ключевых кадров в течение указанной длительности.
public ref class ObjectAnimationUsingKeyFrames 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 ObjectAnimationUsingKeyFrames 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 ObjectAnimationUsingKeyFrames : Timeline
Public NotInheritable Class ObjectAnimationUsingKeyFrames
Inherits Timeline
<ObjectAnimationUsingKeyFrames>oneOrMoreDiscreteObjectKeyFrames</ObjectAnimationUsingKeyFrames>
- Наследование
- Атрибуты
Примеры
В следующем примере для анимации свойства Fillпрямоугольника используется класс ObjectAnimationUsingKeyFrames. Эта анимация использует два ключевых кадра следующим образом:
- Используя Дискретный ОбъектKeyFrame, свойство Fillпрямоугольника внезапно изменяется на LinearGradientBrush после первых двух секунд анимации.
- После третьей секунды анимации свойство Fill внезапно изменяется на другой LinearGradientBrush, который остается до конца анимации (четыре секунды в общей сложности).
<StackPanel>
<StackPanel.Resources>
<Storyboard x:Name="myStoryboard">
<!-- ObjectAnimationUsingKeyFrames is used to animate properties that take
an object as a value. This animation lasts for 4 seconds using 3 KeyFrames which
swap different brush objects at regular intervals, making the background of the Page
change. -->
<ObjectAnimationUsingKeyFrames
Storyboard.TargetName="animatedRectangle"
Storyboard.TargetProperty="Fill"
Duration="0:0:4" RepeatBehavior="Forever">
<ObjectAnimationUsingKeyFrames.KeyFrames>
<!-- Note: Only discrete interpolation (DiscreteObjectKeyFrame) is available for
use with ObjectAnimationUsingKeyFrames which merely swaps objects according to
a specified timeline. Other types of interpolation are too problematic to apply
to objects. -->
<!-- Using a DiscreteObjectKeyFrame, the Fill property of the Rectangle suddenly
changes to a LinearGradientBrush after the first two seconds of the animation. -->
<DiscreteObjectKeyFrame KeyTime="0:0:2">
<DiscreteObjectKeyFrame.Value>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Orange" Offset="0.5" />
<GradientStop Color="Red" Offset="1.0" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<!-- After the third second of the animation, the Fill property is suddenly changed
to a different LinearGradientBrush which remains until the end of the animation
(4 seconds total). -->
<DiscreteObjectKeyFrame KeyTime="0:0:3">
<DiscreteObjectKeyFrame.Value>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Color="White" Offset="0.0" />
<GradientStop Color="MediumBlue" Offset="0.5" />
<GradientStop Color="Black" Offset="1.0" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames.KeyFrames>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</StackPanel.Resources>
<!-- The Fill property of this rectangle is animated. -->
<Rectangle x:Name="animatedRectangle" Loaded="Rectangle_Loaded" Width="300" Height="300" />
</StackPanel>
// When the rectangle loads, begin the animation.
private void Rectangle_Loaded(object sender, RoutedEventArgs e)
{
myStoryboard.Begin();
}
Конструкторы
| Имя | Описание |
|---|---|
| ObjectAnimationUsingKeyFrames() |
Инициализирует новый экземпляр класса ObjectAnimationUsingKeyFrames . |
Свойства
| Имя | Описание |
|---|---|
| AutoReverse |
Возвращает или задает значение, указывающее, воспроизводится ли временная шкала в обратном порядке после завершения итерации вперед. (Унаследовано от Timeline) |
| BeginTime |
Возвращает или задает время начала этой временной шкалы . (Унаследовано от Timeline) |
| Dispatcher |
Всегда возвращается |
| DispatcherQueue |
Возвращает, |
| Duration |
Возвращает или задает продолжительность времени, в течение которого эта временная шкала воспроизводится, не подсчитывая повторения. (Унаследовано от Timeline) |
| EnableDependentAnimation |
Возвращает или задает значение, указывающее, должны ли анимированные свойства, которые считаются зависимыми анимациями, использовать это объявление анимации. |
| EnableDependentAnimationProperty |
Определяет свойство зависимости EnableDependentAnimation . |
| FillBehavior |
Возвращает или задает значение, указывающее, как работает анимация после окончания его активного периода. (Унаследовано от Timeline) |
| KeyFrames |
Возвращает коллекцию объектов ObjectKeyFrame , определяющих анимацию. |
| 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) |