VisualTransition.GeneratedEasingFunction Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает пользовательскую математическую формулу, используемую для перехода между состояниями.
public:
property System::Windows::Media::Animation::IEasingFunction ^ GeneratedEasingFunction { System::Windows::Media::Animation::IEasingFunction ^ get(); void set(System::Windows::Media::Animation::IEasingFunction ^ value); };
public System.Windows.Media.Animation.IEasingFunction GeneratedEasingFunction { get; set; }
member this.GeneratedEasingFunction : System.Windows.Media.Animation.IEasingFunction with get, set
Public Property GeneratedEasingFunction As IEasingFunction
Значение свойства
Пользовательская математическая формула, используемая для перехода между состояниями.
Примеры
В следующем примере создается объект VisualTransition , который приводит Rectangle к вертикальному перемещению, когда пользователь нажимает кнопку мыши поверх Canvas. В примере свойство BounceEase присваивается GeneratedEasingFunction объекту, что приводит Rectangle к отскоку при достижении назначения. Значение VisualTransition , используемое при выпуске кнопки другого BounceEase объекта, чтобы вызвать Rectangle отскоки перед возвратом к исходной позиции.
<Canvas Name="canvasRoot" Background="Tan" Width="100" Height="250"
MouseDown="Canvas_MouseEvent" MouseUp="Canvas_MouseEvent">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="CanvasStates">
<VisualState Name="CanvasButtonUp" />
<VisualState Name="CanvasButtonDown">
<Storyboard>
<!--The VisualTransition is responsible for animating the
Rectangle falling. This DoubleAnitmation specifies where
the Rectangle is when the animation completes.-->
<DoubleAnimation To="200"
Storyboard.TargetName="myRectangle"
Storyboard.TargetProperty="(Canvas.Top)"/>
</Storyboard>
</VisualState>
<VisualStateGroup.Transitions>
<VisualTransition To="CanvasButtonUp" GeneratedDuration="00:00:01">
<VisualTransition.GeneratedEasingFunction>
<BounceEase Bounces="4" EasingMode="EaseIn" Bounciness="2"/>
</VisualTransition.GeneratedEasingFunction>
</VisualTransition>
<VisualTransition To="CanvasButtonDown" GeneratedDuration="00:00:01">
<VisualTransition.GeneratedEasingFunction>
<BounceEase Bounces="3" EasingMode="EaseOut" Bounciness="2"/>
</VisualTransition.GeneratedEasingFunction>
</VisualTransition>
</VisualStateGroup.Transitions>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle Name="myRectangle"
Canvas.Top="30" Canvas.Left="30"
Fill="Blue" Width="30" Height="30"/>
</Canvas>
В следующем примере показан обработчик событий для MouseDown событий и MouseUp событий. В примере вызывается GoToElementState метод для изменения VisualState холста.
bool isMouseDown;
private void Canvas_MouseEvent(object sender, MouseEventArgs e)
{
isMouseDown = !isMouseDown;
if (isMouseDown)
{
VisualStateManager.GoToElementState(canvasRoot, "CanvasButtonDown", true);
}
else
{
VisualStateManager.GoToElementState(canvasRoot, "CanvasButtonUp", true);
}
}
Private isMouseDown As Boolean
Private Sub Canvas_MouseEvent(ByVal sender As Object, ByVal e As MouseEventArgs)
isMouseDown = Not isMouseDown
If isMouseDown Then
VisualStateManager.GoToElementState(canvasRoot, "CanvasButtonDown", True)
Else
VisualStateManager.GoToElementState(canvasRoot, "CanvasButtonUp", True)
End If
End Sub
Комментарии
Свойство можно задать GeneratedEasingFunction , чтобы указать способ перехода. Например, можно указать функцию упрощения для ускорения или замедления перехода. Дополнительные сведения см. в разделе "Упрощение функций".