Share via


VisualTransition.GeneratedEasingFunction Özellik

Tanım

Durumlar arasında geçiş yapmak için kullanılan özel bir matematik formülünü alır veya ayarlar.

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

Özellik Değeri

Durumlar arasında geçiş yapmak için kullanılan özel bir matematiksel formül.

Örnekler

Aşağıdaki örnek, kullanıcı üzerinde Canvasfare düğmesine bastığında öğesinin dikey olarak hareket etmesini sağlayan bir VisualTransitionRectangle oluşturur. Örnek, hedefine ulaştığında öğesinin GeneratedEasingFunctionRectangle geri dönen görünmesine neden olmak için özelliğini bir BounceEase nesneye ayarlar. VisualTransition Kullanıcı düğmeyi serbest bıraktığında kullanılan, özgün konumuna dönmeden önce geri dönmesine neden olan Rectangle başka bir BounceEase nesneye sahiptir.

<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>

Aşağıdaki örnekte ve MouseUp olayları için olay işleyicisi gösterilmektedirMouseDown. Örnek, tuvalin GoToElementState değerini değiştirmek VisualState için yöntemini çağırır.

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

Açıklamalar

Geçiş işleminin GeneratedEasingFunction nasıl gerçekleşeceğini belirtmek için özelliğini ayarlayabilirsiniz. Örneğin, geçişi hızlandırmak veya yavaşlatmak için bir kolaylaştırıcı işlev belirtebilirsiniz. Daha fazla bilgi için bkz . İşlevleri Kolaylaştırma.

Şunlara uygulanır