Freigeben über


Vorgehensweise: Anwenden einer Transformation auf ein Element, wenn ein Ereignis auftritt

In diesem Beispiel wird gezeigt, wie ein ScaleTransform angewendet wird, wenn ein Ereignis auftritt. Das hier gezeigte Konzept ist dasselbe, das Sie auch bei der Anwendung anderer Transformationstypen verwenden. Weitere Informationen zu den verfügbaren Transformationstypen finden Sie in der Transform-Klasse oder der -Transformationsübersicht.

Sie können eine Transformation auf ein Element auf eine der folgenden beiden Arten anwenden:

  • Wenn Sie nicht möchten, dass sich der Transformationseffekt auf das Layout auswirkt, verwenden Sie die Eigenschaft RenderTransform des Elements.

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

Im folgenden Beispiel wird ein ScaleTransform auf die Eigenschaft RenderTransform der Schaltfläche angewendet. Wenn die Maus über die Schaltfläche bewegt wird, werden die eigenschaften ScaleX und ScaleY des ScaleTransform auf 2festgelegt, wodurch die Schaltfläche größer wird. Wenn die Maus die Schaltfläche verlässt, werden ScaleX und ScaleY auf 1festgelegt, wodurch die Schaltfläche zu ihrer ursprünglichen Größe zurückkehrt.

Beispiel

<Page  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://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>
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;
  }
}
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

Siehe auch