Partilhar via


Como: Aplicar uma transformação a um elemento quando ocorre um evento

Este exemplo mostra como aplicar um ScaleTransform quando ocorre um evento. O conceito que é mostrado aqui é o mesmo que você usa para aplicar outros tipos de transformações. Para obter mais informações sobre os tipos disponíveis de transformações, consulte a classe Transform ou Visão Geral sobre Transformações.

Você pode aplicar uma transformação a um elemento de uma dessas duas maneiras:

  • Se você não deseja que a transformação afete o layout, use a propriedade RenderTransform do elemento.

  • Se você deseja que a transformação afete o layout, use a propriedade LayoutTransform do elemento.

O exemplo a seguir aplica uma ScaleTransform à propriedade RenderTransform de um botão. Quando o mouse se move sobre o botão, as propriedades ScaleX e ScaleY da ScaleTransform são definidas como 2, o que faz com que o botão fique maior. Quando o mouse se move para fora do botão, ScaleX e ScaleY são definidas como 1, o que faz com que o botão retorne ao seu tamanho original.

Exemplo

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

Consulte também

Conceitos

Visão Geral sobre Transformações

Visão geral sobre eventos roteados

Referência

Transform

ScaleTransform

Outros recursos

Transformations How-to Topics