Cómo: Aplicar una transformación a un elemento cuando se provoca un evento

Actualización: noviembre 2007

En este ejemplo se muestra cómo aplicar ScaleTransform cuando se provoca un evento. El concepto que se muestra aquí es el mismo que se utiliza para aplicar otros tipos de transformaciones. Para obtener más información sobre los tipos de transformaciones disponibles, vea la clase Transform o la Información general sobre transformaciones.

Puede aplicar una transformación a un elemento de cualquiera de estas dos maneras:

  • Si no desea que la transformación afecte al diseño, utilice la propiedad RenderTransform del elemento.

  • Si desea que la transformación afecte al diseño, utilice la propiedad LayoutTransform del elemento.

En el ejemplo siguiente se aplica ScaleTransform a la propiedad RenderTransform de un botón. Cuando el mouse se mueve por encima del botón, las propiedades ScaleX y ScaleY de ScaleTransform se establecen en 2, lo que hace que el botón se agrande. Cuando el mouse se aleja del botón, las propiedades ScaleX y ScaleY se establecen en 1, lo que hace que el botón recupere su tamaño original.

Ejemplo

<Page  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="TransformExample"
  WindowTitle="Transform on Mouse Enter Example">
  <Canvas Width="400" Height="400">

    <Button Name="Button1" MouseEnter="Enter" MouseLeave="Leave">
      <Button.RenderTransform>
        <ScaleTransform x:Name="myScaleTransform" ScaleX="1" ScaleY="1" />
      </Button.RenderTransform>
      Button
    </Button>

    <x:Code>
    <![CDATA[
      Private Sub Enter(ByVal sender as object, ByVal args as System.Windows.Input.MouseEventArgs)
        myScaleTransform.ScaleX = 2
        myScaleTransform.ScaleY = 2
      End Sub

      Private Sub Leave(ByVal sender as object, ByVal e as System.Windows.Input.MouseEventArgs)
        myScaleTransform.ScaleX = 1
        myScaleTransform.ScaleY = 1
      End Sub

    ]]>
    </x:Code>

  </Canvas>
</Page>

Vea también

Conceptos

Información general sobre transformaciones

Información general sobre eventos enrutados

Referencia

Transform

ScaleTransform

Otros recursos

Temas "Cómo..." de transformaciones