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


ElasticEase Класс

Определение

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

public ref class ElasticEase sealed : EasingFunctionBase
/// [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)]
class ElasticEase final : EasingFunctionBase
/// [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.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ElasticEase final : EasingFunctionBase
[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)]
public sealed class ElasticEase : EasingFunctionBase
[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.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
Наследование
Object Platform::Object IInspectable DependencyObject EasingFunctionBase ElasticEase
Атрибуты

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

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

Примеры

В этом примере XAML функция easing ElasticEase применяется к DoubleAnimation , чтобы создать анимацию, похожую на пружину, колеблющуюся взад и вперед, пока она не успокоится.

<StackPanel x:Name="LayoutRoot" >
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
            <DoubleAnimation From="1" To="6" Duration="00:00:3" 
                Storyboard.TargetName="rectScaleTransform" 
                Storyboard.TargetProperty="ScaleY">
                <DoubleAnimation.EasingFunction>
                    
                    <!-- Elastic easing function assigned to From/To animation -->
                    <ElasticEase x:Name="myElasticEase" Oscillations="3" 
                     Springiness="1" EasingMode="EaseOut"/>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>
    </StackPanel.Resources>

    <Rectangle PointerPressed="Pointer_Clicked" 
     Fill="Blue" Width="200" Height="30">
        <Rectangle.RenderTransform>
            <ScaleTransform x:Name="rectScaleTransform" />
        </Rectangle.RenderTransform>
    </Rectangle>

</StackPanel>
// When the user clicks the rectangle, the animation
// begins. 
private void Pointer_Clicked(object sender, PointerRoutedEventArgs e)
{
    myStoryboard.Begin();
}
' When the user clicks the rectangle, the animation
' begins. 
Private Sub Pointer_Clicked(ByVal sender As Object, ByVal e As PointerRoutedEventArgs)
    myStoryboard.Begin()
End Sub

Комментарии

ElasticEase — это одна из двух функций, которые могут выдавать значение за пределами обычного диапазона From/To . (Второй — BackEase.) Когда функция плавности начинается, значение колеблется положительным и отрицательным вокруг значения From , пока не достигнет конечной положительной амплитуды, которая является значением To . Свойство Springiness изменяет синусоидальный характер этого колебания. При springiness 0 колебания в основном синусоидальные и напоминают типичную схему движения пружины. При больших значениях Springiness это похоже на ослабить движение пружины.

Свойство Осцилляция объявляет, сколько раз функция колебается и пересекает значения, которые фактически ниже начального значения From .

Вы можете получить наилучшие результаты, просто поэкспериментируя со свойствами Springiness, Oscillations и EasingMode , пока анимация не будет визуально делать то, что нужно для вашего сценария значения анимированного свойства.

BounceEase — это аналогичная функция облегчения, которая хорошо подходит для эмуляции физики в анимации. Разница с ElasticEase заключается в том, что BounceEase никогда не выходит за пределы диапазона От/До . Еще один способ осмысления двух функций для облегчения заключается в том, что ElasticEase — это то, что вы можете использовать для анимации выщипывания строки, в то время как BounceEase — это то, что вы можете использовать для отображения отскока мяча против линии или плоскости.

Функция easing может применяться к свойствам EasingFunction анимаций From/To/By или к свойствам EasingFunction типов ключевых кадров, используемых для вариантов анимации с ключевым кадром. Дополнительные сведения см. в разделах Анимация по ключевым кадрам и анимация функций.

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

ElasticEase()

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

Свойства

Dispatcher

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

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

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

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

Получает или задает количество перемещений целевого объекта в анимации.

OscillationsProperty

Идентифицирует свойство зависимости Осцилляции .

Springiness

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

SpringinessProperty

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

Методы

ClearValue(DependencyProperty)

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

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

Преобразует нормированное время для управления скоростью анимации.

(Унаследовано от EasingFunctionBase)
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)

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

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