Udostępnij za pośrednictwem


VisualTransition.GeneratedEasingFunction Właściwość

Definicja

Pobiera lub ustawia niestandardową formułę matematyczną używaną do przejścia 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 przejścia 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 Canvas. W przykładzie właściwość jest ustawiana GeneratedEasingFunction na BounceEase obiekt, aby spowodować Rectangle , że obiekt zostanie wyświetlony, gdy osiągnie jego miejsce docelowe. Jest VisualTransition on używany, gdy użytkownik zwalnia przycisk, ma inny BounceEase obiekt, Rectangle aby spowodować 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>

W poniższym przykładzie przedstawiono 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

Właściwość można ustawić GeneratedEasingFunction tak, aby określić sposób przejścia. Można na przykład określić funkcję złagodzenia, aby przyspieszyć lub zwolnić przejście. Aby uzyskać więcej informacji, zobacz Easing Functions (Easing Functions).

Dotyczy