ManipulationDeltaEventArgs.IsInertial Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob das ManipulationDelta-Ereignis während der Trägheit auftritt.

C#
public bool IsInertial { get; }

Eigenschaftswert

true, wenn das ManipulationDelta-Ereignis während der Trägheit auftritt; false, wenn das Ereignis auftritt, während der Benutzer Kontakt mit dem UIElement-Objekt hat.

Beispiele

Das folgende Beispiel zeigt einen Ereignishandler für das ManipulationDelta Ereignis. Im Beispiel wird überprüft, ob das Ereignis während der ManipulationDelta Trägheit aufgetreten ist und ob das Rechteck den Rand eines Fensters berührt. Wenn diese Fälle zutreffen, beendet die Anwendung die Bearbeitung, um zu verhindern, dass das Rechteck den sichtbaren Bereich der Anwendung verlässt. Dieses Beispiel ist Teil eines größeren Beispiels in Exemplarische Vorgehensweise: Erstellen Ihrer First Touch-Anwendung.

C#
void Window_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
    
    // Get the Rectangle and its RenderTransform matrix.
    Rectangle rectToMove = e.OriginalSource as Rectangle;
    Matrix rectsMatrix = ((MatrixTransform)rectToMove.RenderTransform).Matrix;

    // Rotate the Rectangle.
    rectsMatrix.RotateAt(e.DeltaManipulation.Rotation, 
                         e.ManipulationOrigin.X, 
                         e.ManipulationOrigin.Y);

    // Resize the Rectangle.  Keep it square 
    // so use only the X value of Scale.
    rectsMatrix.ScaleAt(e.DeltaManipulation.Scale.X, 
                        e.DeltaManipulation.Scale.X, 
                        e.ManipulationOrigin.X,
                        e.ManipulationOrigin.Y);

    // Move the Rectangle.
    rectsMatrix.Translate(e.DeltaManipulation.Translation.X,
                          e.DeltaManipulation.Translation.Y);

    // Apply the changes to the Rectangle.
    rectToMove.RenderTransform = new MatrixTransform(rectsMatrix);

    Rect containingRect =
        new Rect(((FrameworkElement)e.ManipulationContainer).RenderSize);

    Rect shapeBounds =
        rectToMove.RenderTransform.TransformBounds(
            new Rect(rectToMove.RenderSize));

    // Check if the rectangle is completely in the window.
    // If it is not and intertia is occuring, stop the manipulation.
    if (e.IsInertial && !containingRect.Contains(shapeBounds))
    {
        e.Complete();
    }

    e.Handled = true;
}

Hinweise

Sie können diese Methode verwenden, um zu bestimmen, ob das Ereignis während der ManipulationDelta Verzögerung auftritt oder während der Benutzer Kontakt mit dem Element hat, das das ManipulationDelta Ereignis empfängt.

Gilt für:

Produkt Versionen
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10