Gewusst wie: Anwenden einer Transformation auf ein Element beim Auftreten eines Ereignisses

Aktualisiert: November 2007

In diesem Beispiel wird erläutert, wie Sie eine ScaleTransform anwenden, wenn ein Ereignis auftritt. Mithilfe des hier dargestellten Konzepts können Sie auch andere Transformationstypen anwenden. Weitere Informationen zu den verfügbaren Transformationstypen finden Sie in der Transform-Klasse oder unter Übersicht über Transformationen.

Sie können mit einem der folgenden beiden Verfahren eine Transformation auf ein Element anwenden:

  • Wenn sich die Transformation nicht auf das Layout auswirken soll, verwenden Sie die RenderTransform-Eigenschaft des Elements.

  • Wenn sich die Transformation auf das Layout auswirken soll, verwenden Sie die LayoutTransform-Eigenschaft des Elements.

Im folgenden Beispiel wird eine ScaleTransform auf die RenderTransform-Eigenschaft einer Schaltfläche angewendet. Wenn der Mauszeiger über die Schaltfläche bewegt wird, werden ScaleX-Eigenschaft und die ScaleY-Eigenschaft der ScaleTransform auf 2 festgelegt. Die Schaltfläche wird dadurch vergrößert. Wenn der Mauszeiger von der Schaltfläche weg bewegt wird, werden ScaleX und ScaleY auf 1 festgelegt, sodass die Schaltfläche auf die ursprüngliche Größe zurückgesetzt wird.

Beispiel

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

Siehe auch

Konzepte

Übersicht über Transformationen

Übersicht über Routingereignisse

Referenz

Transform

ScaleTransform

Weitere Ressourcen

Gewusst-wie-Themen zu Transformationen