VisualTransition.GeneratedEasingFunction Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia niestandardową formułę matematyczną używaną do przechodzenia między stanami.
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
Wartość właściwości
Niestandardowa formuła matematyczna używana do przechodzenia między stanami.
Przykłady
Poniższy przykład tworzy obiekt VisualTransition , który powoduje, że element Rectangle jest przesuwany w pionie, gdy użytkownik naciska przycisk myszy na obiekcie Canvas. W przykładzie GeneratedEasingFunction właściwość jest ustawiana na BounceEase obiekt, aby obiekt Rectangle wydawał się odbijać po dotarciu do miejsca docelowego. Jest VisualTransition on używany, gdy użytkownik zwalnia przycisk, ma inny BounceEase obiekt, aby spowodować Rectangle odbicie obiektu, zanim powróci do oryginalnej pozycji.
<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>
Poniższy przykład przedstawia procedurę obsługi zdarzeń dla zdarzeń MouseDown i MouseUp . W przykładzie metoda wywołuje metodę GoToElementState , aby zmienić VisualState kanwę.
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
Uwagi
Możesz ustawić GeneratedEasingFunction właściwość , aby określić sposób przejścia. Można na przykład określić funkcję złagodzenia, aby przyspieszyć lub spowolnić przejście. Aby uzyskać więcej informacji, zobacz Easing Functions.