ManipulationDeltaEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des données pour l’événement ManipulationDelta.
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
- Héritage
Exemples
L’exemple suivant montre un gestionnaire d’événements pour l’événement ManipulationDelta . L’exemple utilise la DeltaManipulation propriété pour déplacer, redimensionner et faire pivoter un Rectangle. L’exemple vérifie également si l’événement ManipulationDelta s’est produit pendant l’inertie et si le rectangle touche le bord d’une fenêtre. Si ces cas sont vrais, l’application arrête la manipulation pour empêcher le rectangle de quitter la zone visible de l’application. Cet exemple fait partie d’un exemple plus large dans la procédure pas à pas : création de votre application First Touch.
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
Remarques
La ManipulationDeltaEventArgs classe contient des données sur les modifications apportées à la position d’une manipulation. La DeltaManipulation propriété contient les modifications qui se sont produites depuis le dernier ManipulationDelta événement. La CumulativeManipulation propriété contient les modifications totales qui se sont produites pour la manipulation actuelle. Vous utilisez l’une de ces propriétés pour transformer l’objet manipulé.
Vous pouvez mettre fin à une manipulation en appelant la Complete méthode ou forcer la manipulation en inertie en appelant la StartInertia méthode.
Propriétés
| Nom | Description |
|---|---|
| CumulativeManipulation |
Obtient les modifications cumulées de la manipulation actuelle. |
| DeltaManipulation |
Obtient les modifications les plus récentes de la manipulation actuelle. |
| Device |
Obtient l’appareil d’entrée qui a lancé cet événement. (Hérité de InputEventArgs) |
| Handled |
Obtient ou définit une valeur qui indique l’état actuel de la gestion des événements pour un événement routé lors du déplacement de l’itinéraire. (Hérité de RoutedEventArgs) |
| IsInertial |
Obtient une valeur qui indique si l’événement se produit pendant l’inertie ManipulationDelta . |
| ManipulationContainer |
Obtient le conteneur qui définit les coordonnées de la manipulation. |
| ManipulationOrigin |
Obtient le point à partir duquel la manipulation provient. |
| Manipulators |
Obtient une collection d’objets qui représente les contacts tactiles pour la manipulation. |
| OriginalSource |
Obtient la source de création de rapports d’origine telle que déterminée par les tests de positionnement purs, avant tout ajustement possible Source par une classe parente. (Hérité de RoutedEventArgs) |
| RoutedEvent |
Obtient ou définit l’associé RoutedEvent à cette RoutedEventArgs instance. (Hérité de RoutedEventArgs) |
| Source |
Obtient ou définit une référence à l’objet qui a déclenché l’événement. (Hérité de RoutedEventArgs) |
| Timestamp |
Obtient l’heure à laquelle cet événement s’est produit. (Hérité de InputEventArgs) |
| Velocities |
Obtient les taux des modifications les plus récentes apportées à la manipulation. |
Méthodes
| Nom | Description |
|---|---|
| Cancel() |
Annule la manipulation. |
| Complete() |
Termine la manipulation sans inertie. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| InvokeEventHandler(Delegate, Object) |
Appelle des gestionnaires d’événements d’une manière spécifique au type, ce qui peut augmenter l’efficacité du système d’événements. (Hérité de InputEventArgs) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| OnSetSource(Object) |
En cas de substitution dans une classe dérivée, fournit un point d’entrée de rappel de notification chaque fois que la valeur de la Source propriété d’une instance change. (Hérité de RoutedEventArgs) |
| ReportBoundaryFeedback(ManipulationDelta) |
Spécifie que la manipulation a dépassé certaines limites. |
| StartInertia() |
Démarre l’inertie sur la manipulation en ignorant les mouvements de contact suivants et en levant l’événement ManipulationInertiaStarting . |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |