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. В примере свойству GeneratedEasingFunction присваивается объект , BounceEase чтобы объект 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 свойство , чтобы указать способ перехода. Например, можно указать функцию облегчения для ускорения или замедления перехода. Дополнительные сведения см. в разделе Функции для упрощения.