ManipulationDeltaEventArgs ManipulationDeltaEventArgs ManipulationDeltaEventArgs ManipulationDeltaEventArgs Class

Definition

Stellt Daten für das ManipulationDelta-Ereignis bereit.Provides data for the ManipulationDelta event.

public ref class ManipulationDeltaEventArgs sealed : System::Windows::Input::InputEventArgs
public sealed class ManipulationDeltaEventArgs : System.Windows.Input.InputEventArgs
type ManipulationDeltaEventArgs = class
    inherit InputEventArgs
Public NotInheritable Class ManipulationDeltaEventArgs
Inherits InputEventArgs
Vererbung

Beispiele

Das folgende Beispiel zeigt einen Ereignishandler für das ManipulationDelta -Ereignis.The following example shows an event handler for the ManipulationDelta event. Im Beispiel wird die DeltaManipulation -Eigenschaft verwendet, um eine Rectanglezu verschieben, zu ändern und zu ändern.The example uses the DeltaManipulation property to move, resize, and rotate a Rectangle. Im Beispiel wird außerdem überprüft, ManipulationDelta ob das Ereignis während der Trägheit aufgetreten ist und ob das Rechteck den Rand eines Fensters berührt.The example also checks whether the ManipulationDelta event occurred during inertia and whether the rectangle is touching the edge of a window. Wenn diese Fälle true sind, beendet die Anwendung die Bearbeitung, um zu verhindern, dass das Rechteck den sichtbaren Bereich der Anwendung verlässt.If those cases are true, the application stops the manipulation to prevent the rectangle from leaving the visible area of the application. Dieses Beispiel ist Teil eines größeren Beispiels in exemplarischen Vorgehensweise: Erstellen Ihrer ersten Touchscreen-Anwendung.This example is part of a larger example in Walkthrough: Creating Your First Touch Application.

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;
}
Private Sub Window_ManipulationDelta(ByVal sender As Object, ByVal e As ManipulationDeltaEventArgs)

    ' Get the Rectangle and its RenderTransform matrix.
    Dim rectToMove As Rectangle = e.OriginalSource
    Dim rectTransform As MatrixTransform = rectToMove.RenderTransform
    Dim rectsMatrix As Matrix = rectTransform.Matrix


    ' Rotate the shape
    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 center
    rectsMatrix.Translate(e.DeltaManipulation.Translation.X,
                          e.DeltaManipulation.Translation.Y)

    ' Apply the changes to the Rectangle.
    rectTransform = New MatrixTransform(rectsMatrix)
    rectToMove.RenderTransform = rectTransform

    Dim container As FrameworkElement = e.ManipulationContainer
    Dim containingRect As New Rect(container.RenderSize)

    Dim shapeBounds As Rect = rectTransform.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 AndAlso Not containingRect.Contains(shapeBounds) Then
        e.Complete()
    End If

    e.Handled = True
End Sub

Hinweise

Die ManipulationDeltaEventArgs -Klasse enthält Daten über Änderungen an der Position einer Bearbeitung.The ManipulationDeltaEventArgs class contains data about changes in the position of a manipulation. Die DeltaManipulation -Eigenschaft enthält die Änderungen, die seit dem ManipulationDelta letzten Ereignis aufgetreten sind.The DeltaManipulation property contains the changes that occurred since the last ManipulationDelta event occurred. Die CumulativeManipulation -Eigenschaft enthält die Gesamtanzahl der Änderungen, die für die aktuelle Bearbeitung aufgetreten sind.The CumulativeManipulation property contains the total changes that occurred for the current manipulation. Sie verwenden eine dieser Eigenschaften, um das manipulierte Objekt zu transformieren.You use one of those properties to transform the manipulated object.

Sie können eine Manipulation beenden, indem Sie Complete die-Methode aufrufen oder die Manipulation in Trägheit erzwingen StartInertia , indem Sie die-Methode aufrufen.You can end a manipulation by calling the Complete method or force the manipulation into inertia by calling the StartInertia method.

Eigenschaften

CumulativeManipulation CumulativeManipulation CumulativeManipulation CumulativeManipulation

Ruft die kumulierten Änderungen der aktuellen Bearbeitung ab.Gets the cumulated changes of the current manipulation.

DeltaManipulation DeltaManipulation DeltaManipulation DeltaManipulation

Ruft die letzten Änderungen der aktuellen Bearbeitung ab.Gets the most recent changes of the current manipulation.

Device Device Device Device

Ruft das Eingabegerät ab, das dieses Ereignis initiiert hat.Gets the input device that initiated this event.

(Inherited from InputEventArgs)
Handled Handled Handled Handled

Ruft einen Wert ab, der den aktuellen Zustand der Ereignisbehandlung für ein Routingereignis beim Durchlaufen der Route angibt, oder legt diesen fest.Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route.

(Inherited from RoutedEventArgs)
IsInertial IsInertial IsInertial IsInertial

Ruft einen Wert ab, der angibt, ob das ManipulationDelta-Ereignis während der Trägheit auftritt.Gets a value that indicates whether the ManipulationDelta event occurs during inertia.

ManipulationContainer ManipulationContainer ManipulationContainer ManipulationContainer

Ruft den Container ab, der die Koordinaten für die Bearbeitung definiert.Gets the container that defines the coordinates for the manipulation.

ManipulationOrigin ManipulationOrigin ManipulationOrigin ManipulationOrigin

Ruft den Punkt ab, an dem die Bearbeitung entstanden ist.Gets the point from which the manipulation originated.

Manipulators Manipulators Manipulators Manipulators

Ruft eine Auflistung von Objekten ab, die die Fingereingabekontakte für die Manipulation darstellt.Gets a collection of objects that represents the touch contacts for the manipulation.

OriginalSource OriginalSource OriginalSource OriginalSource

Ruft die ursprünglich meldende Quelle ab, die durch einen reinen Treffertest bestimmt wurde, bevor eine mögliche Source-Anpassung durch eine übergeordnete Klasse erfolgt.Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class.

(Inherited from RoutedEventArgs)
RoutedEvent RoutedEvent RoutedEvent RoutedEvent

Ruft die RoutedEvent-Instanz ab, die dieser RoutedEventArgs-Instanz zugeordnet ist, oder legt die Instanz fest.Gets or sets the RoutedEvent associated with this RoutedEventArgs instance.

(Inherited from RoutedEventArgs)
Source Source Source Source

Ruft einen Verweis auf das Objekt ab, das das Ereignis ausgelöst hat, oder legt diesen fest.Gets or sets a reference to the object that raised the event.

(Inherited from RoutedEventArgs)
Timestamp Timestamp Timestamp Timestamp

Ruft die Zeit ab, zu der dieses Ereignis eingetreten ist.Gets the time when this event occurred.

(Inherited from InputEventArgs)
Velocities Velocities Velocities Velocities

Ruft die Raten der letzten Änderungen an der Bearbeitung ab.Gets the rates of the most recent changes to the manipulation.

Methoden

Cancel() Cancel() Cancel() Cancel()

Bricht die Bearbeitung ab.Cancels the manipulation.

Complete() Complete() Complete() Complete()

Schließt die Bearbeitung ohne Trägheit ab.Completes the manipulation without inertia.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
InvokeEventHandler(Delegate, Object) InvokeEventHandler(Delegate, Object) InvokeEventHandler(Delegate, Object) InvokeEventHandler(Delegate, Object)

Ruft Ereignishandler auf typspezifische Weise auf, wodurch sich die Effizienz des Ereignissystems erhöhen kann.Invokes event handlers in a type-specific way, which can increase event system efficiency.

(Inherited from InputEventArgs)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnSetSource(Object) OnSetSource(Object) OnSetSource(Object) OnSetSource(Object)

Gibt beim Überschreiben in einer abgeleiteten Klasse einen Einstiegspunkt für Benachrichtigungsrückrufe an, wenn der Wert der Source-Eigenschaft einer Instanz geändert wird.When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes.

(Inherited from RoutedEventArgs)
ReportBoundaryFeedback(ManipulationDelta) ReportBoundaryFeedback(ManipulationDelta) ReportBoundaryFeedback(ManipulationDelta) ReportBoundaryFeedback(ManipulationDelta)

Gibt an, dass die Manipulation über bestimmte Grenzen hinausgegangen ist.Specifies that the manipulation has gone beyond certain boundaries.

StartInertia() StartInertia() StartInertia() StartInertia()

Startet Trägheit auf der Bearbeitung durch das Ignorieren von nachfolgenden Kontaktbewegungen und Auslösen des ManipulationInertiaStarting-Ereignisses.Starts inertia on the manipulation by ignoring subsequent contact movements and raising the ManipulationInertiaStarting event.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für: