Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

UIElement.ManipulationDelta (Evento)

Se produce cuando el dispositivo de entrada cambia de posición durante una manipulación.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationCore (en PresentationCore.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public event EventHandler<ManipulationDeltaEventArgs> ManipulationDelta
<object ManipulationDelta="EventHandler<ManipulationDeltaEventArgs>" .../>

Campo de identificador

ManipulationDeltaEvent

Estrategia de enrutamiento

Propagación

delegate

EventHandler<TEventArgs> de tipo ManipulationDeltaEventArgs.

El evento ManipulationDelta se produce varias veces cuando el usuario arrastra los dedos sobre la pantalla durante una manipulación y de nuevo cuando la inercia se produce. Puede usar la propiedad IsInertial para comprobar si el evento se está produciendo durante la inercia.

El elemento con el evento ManipulationDelta se produce y no se ve afectado forma alguna cuando el evento se produce. Debe proporcionar la lógica al elemento que será manipulado. Las propiedades DeltaManipulation y CumulativeManipulation, que son del tipo ManipulationDelta, contienen los datos sobre cómo cambia y se interpreta la posición de las manipulaciones como mover, cambia el tamaño o girar un objeto. Aplica esa información al elemento que será manipulado.

Para obtener más información sobre las manipulaciones, vea Información general sobre acciones del usuario. Para obtener un ejemplo de una aplicación que responde a manipulaciones, vea Tutorial: Crear su primera aplicación táctil

En el siguiente ejemplo se muestra un controlador de eventos para el evento ManipulationDelta. En el ejemplo se usa la propiedad DeltaManipulation para mover, cambiar el tamaño y girar a Rectangle. En el ejemplo también se comprueba si el evento ManipulationDelta se produjo durante la inercia y si el rectángulo toca el borde de una ventana. Si esos casos son true, la aplicación detiene la manipulación para evitar que el rectángulo deje el área visible de la aplicación. Este ejemplo forma parte de un ejemplo mayor en Tutorial: Crear su primera aplicación táctil.


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


.NET Framework

Compatible con: 4.5, 4

.NET Framework Client Profile

Compatible con: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft