다음을 통해 공유


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>

다음 예제에서는 이벤트의 이벤트 처리기를 MouseDownMouseUp 이벤트입니다. 예제에서는 호출을 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 전환이 발생 하는 방법을 지정 하려면 속성입니다. 예를 들어, 가속 되거나 전환 감속 감속/가속 함수를 지정할 수 있습니다. 자세한 내용은 감속/가속 함수합니다.

적용 대상