Condividi tramite


Procedura: applicare una trasformazione a un elemento quando si verifica un evento

Aggiornamento: novembre 2007

In questo esempio viene mostrato come applicare ScaleTransform quando si verifica un evento. Il concetto illustrato è identico a quello utilizzato per applicare altri tipi di trasformazioni. Per ulteriori informazioni sui tipi disponibili di trasformazioni, vedere la classe Transform o Cenni preliminari sulle trasformazioni.

È possibile applicare una trasformazione a un elemento in uno dei due modi seguenti:

  • Se non si desidera che la trasformazione influisca sul layout, utilizzare la proprietà RenderTransform dell'elemento.

  • Se si desidera che la trasformazione influisca sul layout, utilizzare la proprietà LayoutTransform dell'elemento.

Nell'esempio seguente viene applicata una classe ScaleTransform alla proprietà RenderTransform di un pulsante. Quando il mouse viene spostato sul pulsante, le proprietà ScaleX e ScaleY di ScaleTransform vengono impostate su 2, ingrandendo in questo modo il pulsante. Quando il mouse viene spostato dal pulsante, le proprietà ScaleX e ScaleY vengono impostate su 1, ripristinando le dimensioni originali del pulsante.

Esempio

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

Vedere anche

Concetti

Cenni preliminari sulle trasformazioni

Cenni preliminari sugli eventi indirizzati

Riferimenti

Transform

ScaleTransform

Altre risorse

Procedure relative alle trasformazioni