ManipulationDelta.Scale Propiedad

Definición

Obtiene o establece el cambio de tamaño de la manipulación expresado como un multiplicador.

public System.Windows.Vector Scale { get; }

Valor de propiedad

Cambio de tamaño de la manipulación.

Ejemplos

En el ejemplo siguiente se muestra un controlador de eventos para el ManipulationDelta evento. En el ejemplo se aplican las Translationpropiedades , Scaley Rotation para mover, cambiar el tamaño y girar un Rectangle. Este ejemplo forma parte de un ejemplo más grande de 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;
}

Comentarios

Las Scale propiedades y Expansion notifican una manipulación de cambio de tamaño. La diferencia entre los dos es la forma en que se notifica el valor. La Scale propiedad notifica el valor como multiplicador. Si Scale es 0,5, la manipulación se interpreta como reducir el tamaño en un 50 %. Si Scale es 2, la manipulación se interpreta como el aumento del tamaño en un 100 %. La Expansion propiedad informa de la manipulación de cambio de tamaño en unidades independientes del dispositivo (1/96 pulgadas por unidad).

Se aplica a

Producto Versiones
.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