Freigeben über


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

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="WCSample.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>


  </Canvas>
</Page>
Partial Public Class TransformExample
    Inherits Page
    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
End Class
public partial class TransformExample : Page {
  private void Enter(object sender, MouseEventArgs args) {
      myScaleTransform.ScaleX = 2;
      myScaleTransform.ScaleY = 2;
  }

  private void Leave(object sender, MouseEventArgs args) {
      myScaleTransform.ScaleX = 1;
      myScaleTransform.ScaleY = 1;
  }
}

Siehe auch

Referenz

Transform

ScaleTransform

Konzepte

Übersicht über Transformationen

Übersicht über Routingereignisse

Weitere Ressourcen

Gewusst-wie-Themen zu Transformationen