Поделиться через


ColorAnimationUsingKeyFrames Класс

Определение

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

public ref class ColorAnimationUsingKeyFrames sealed : Timeline
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
class ColorAnimationUsingKeyFrames final : Timeline
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ColorAnimationUsingKeyFrames final : Timeline
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
public sealed class ColorAnimationUsingKeyFrames : Timeline
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ColorAnimationUsingKeyFrames : Timeline
Public NotInheritable Class ColorAnimationUsingKeyFrames
Inherits Timeline
<ColorAnimationUsingKeyFrames ...>
  oneOrMoreColorKeyFrames
</ColorAnimationUsingKeyFrames>
Наследование
Object Platform::Object IInspectable DependencyObject Timeline ColorAnimationUsingKeyFrames
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

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

  1. В течение первых двух секунд LinearColorKeyFrame постепенно меняет цвет с зеленого на красный. Линейные ключевые кадры, такие как LinearColorKeyFrame , создают плавный линейный переход между значениями.
  2. В конце следующей половины секунды ДискретныйColorKeyFrame быстро меняет цвет с красного на желтый. Дискретные ключевые кадры, такие как DiscreteColorKeyFrame , создают внезапные изменения между значениями; анимация выполняется быстро и не имеет интерполяции между значениями.
  3. В течение последних двух секунд SplineColorKeyFrame снова меняет цвет, на этот раз с желтого на зеленый. Ключевые кадры сплайна, такие как SplineColorKeyFrame , создают переменный переход между значениями в соответствии со значениями свойства KeySpline . KeySpline позволяет изменить связь времени и значения во время анимации, чтобы она была нелинейной, и, в частности, связь может быть кривой, которую было бы трудно создать с отдельными ключевыми кадрами. В этом примере изменение цвета начинается медленно и ускоряется экспоненциально к концу временного сегмента.
<StackPanel x:Name="myStackPanel" Background="Red"
Loaded="Start_Animation">
    <StackPanel.Resources>
        <Storyboard x:Name="colorStoryboard">

            <ColorAnimationUsingKeyFrames Storyboard.TargetName="myStackPanel" 
      Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)">
                
                <!-- Go from green to red in the first 2 seconds. LinearColorKeyFrame creates
                a smooth, linear animation between values. -->
                <LinearColorKeyFrame Value="Blue" KeyTime="00:00:02" />

                <!-- In the next half second, go to yellow. DiscreteColorKeyFrame creates a 
                sudden jump between values. -->
                <DiscreteColorKeyFrame Value="Yellow" KeyTime="00:00:2.5" />

                <!-- In the final 2 seconds of the animation, go from yellow back to green. SplineColorKeyFrame 
                creates a variable transition between values depending on the KeySpline property. In this example,
                the animation starts off slow but toward the end of the time segment, it speeds up exponentially.-->
                <SplineColorKeyFrame Value="Green" KeyTime="00:00:4.5" KeySpline="0.6,0.0 0.9,0.00" />

            </ColorAnimationUsingKeyFrames>
        </Storyboard>
    </StackPanel.Resources>
</StackPanel>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    colorStoryboard.Begin();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
    colorStoryboard.Begin()
End Sub

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

ColorAnimationUsingKeyFrames()

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

Свойства

AutoReverse

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

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

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

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

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

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

Получает или задает продолжительность воспроизведения шкалы времени без учета повторов.

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

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

EnableDependentAnimationProperty

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

FillBehavior

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

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

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

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)

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

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