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 2
festgelegt, wodurch die Schaltfläche größer wird. Wenn die Maus die Schaltfläche verlässt, werden ScaleX und ScaleY auf 1
festgelegt, 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
.NET Desktop feedback