Udostępnij za pośrednictwem


VisualTransition.GeneratedEasingFunction Właściwość

Definicja

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.

Dotyczy