ElasticEase Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет функцию упрощения, которая создает анимацию, которая напоминает весеннюю колебания назад и вперед, пока не придется отдохнуть.
public ref class ElasticEase sealed : EasingFunctionBase
/// [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 ElasticEase final : EasingFunctionBase
[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 ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
- Наследование
- Атрибуты
Примеры
Этот пример XAML применяет функцию упрощения 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();
}
Комментарии
ElasticEase — это одна из двух функций упрощения, которые могут создавать значение за пределами обычного диапазона from/To . (Другой — BackEase.) По мере начала функции упрощения значение колебается положительным и отрицательным вокруг значения From , пока не достигнет конечной положительной амплитуды, которая является значением To . Свойство Springiness изменяет синусоидальный характер этого колебания. С Springiness 0 колебания в основном синусоидальные и напоминает типичную схему движения весной. С большими значениями Springiness , это как ослабить движение весны.
Свойство "Колебания" объявляет, сколько раз функция колебается и пересекает значения, которые фактически ниже начального значения From .
Вы можете получить лучшие результаты, просто поэкспериментируя со свойствами Springiness, Oscillations и EasingMode , пока анимация визуально не делает то, что вы хотите для сценария значения анимированного свойства.
BounceEase — это аналогичная функция упрощения, которая хорошо подходит для эмуляции физики в анимациях. Разница с ElasticEase заключается в том, что bounceEase никогда не выходит за пределы диапазона От/К . Еще одним способом инициализации двух функций является то, что ElasticEase заключается в том, что вы можете использовать для анимации извлечения строки, в то время как BounceEase является то, что вы можете использовать для отображения отскоки мяча против линии или плоскости.
Функцию упрощения можно применить к свойствам анимации "Отдо/по" или к свойствам /easingFunction типов ключевых кадров, используемых для вариантов анимации ключевых кадров. Дополнительные сведения см. в разделе "Анимация ключевых кадров" и анимации функций с упрощением.
Конструкторы
| Имя | Описание |
|---|---|
| ElasticEase() |
Инициализирует новый экземпляр класса ElasticEase . |
Свойства
| Имя | Описание |
|---|---|
| Dispatcher |
Всегда возвращается |
| DispatcherQueue |
Возвращает, |
| 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) |