ManipulationDeltaEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für das ManipulationDelta-Ereignis bereit.
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. Im Beispiel wird die DeltaManipulation -Eigenschaft verwendet, um eine zu verschieben, zu ändern und zu Rectangledrehen. Im Beispiel wird auch ü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 unter Exemplarische Vorgehensweise: Erstellen Ihrer First Touch-Anwendung.
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 zu Änderungen an der Position einer Bearbeitung. Die DeltaManipulation -Eigenschaft enthält die Änderungen, die seit dem letzten ManipulationDelta Ereignis aufgetreten sind. Die CumulativeManipulation -Eigenschaft enthält die Gesamtanzahl der Änderungen, die für die aktuelle Bearbeitung aufgetreten sind. Sie verwenden eine dieser Eigenschaften, um das bearbeitete Objekt zu transformieren.
Sie können eine Manipulation beenden, indem Sie die Complete -Methode aufrufen oder die Manipulation durch Aufrufen der -Methode in die Unbewegheit erzwingen StartInertia .
Eigenschaften
CumulativeManipulation |
Ruft die kumulierten Änderungen der aktuellen Bearbeitung ab. |
DeltaManipulation |
Ruft die letzten Änderungen der aktuellen Bearbeitung ab. |
Device |
Ruft das Eingabegerät ab, das dieses Ereignis initiiert hat. (Geerbt von InputEventArgs) |
Handled |
Ruft einen Wert ab, der den aktuellen Zustand der Ereignisbehandlung für ein Routingereignis beim Durchlaufen der Route angibt, oder legt diesen fest. (Geerbt von RoutedEventArgs) |
IsInertial |
Ruft einen Wert ab, der angibt, ob das ManipulationDelta-Ereignis während der Trägheit auftritt. |
ManipulationContainer |
Ruft den Container ab, der die Koordinaten für die Bearbeitung definiert. |
ManipulationOrigin |
Ruft den Punkt ab, an dem die Bearbeitung entstanden ist. |
Manipulators |
Ruft eine Auflistung von Objekten ab, die die Fingereingabekontakte für die Manipulation darstellt. |
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. (Geerbt von RoutedEventArgs) |
RoutedEvent |
Ruft die RoutedEvent-Instanz ab, die dieser RoutedEventArgs-Instanz zugeordnet ist, oder legt die Instanz fest. (Geerbt von RoutedEventArgs) |
Source |
Ruft einen Verweis auf das Objekt ab, das das Ereignis ausgelöst hat, oder legt diesen fest. (Geerbt von RoutedEventArgs) |
Timestamp |
Ruft die Zeit ab, zu der dieses Ereignis eingetreten ist. (Geerbt von InputEventArgs) |
Velocities |
Ruft die Raten der letzten Änderungen an der Bearbeitung ab. |
Methoden
Cancel() |
Bricht die Bearbeitung ab. |
Complete() |
Schließt die Bearbeitung ohne Trägheit ab. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
InvokeEventHandler(Delegate, Object) |
Ruft Ereignishandler auf typspezifische Weise auf, wodurch sich die Effizienz des Ereignissystems erhöhen kann. (Geerbt von InputEventArgs) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von 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. (Geerbt von RoutedEventArgs) |
ReportBoundaryFeedback(ManipulationDelta) |
Gibt an, dass die Manipulation über bestimmte Grenzen hinausgegangen ist. |
StartInertia() |
Startet Trägheit auf der Bearbeitung durch das Ignorieren von nachfolgenden Kontaktbewegungen und Auslösen des ManipulationInertiaStarting-Ereignisses. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |