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
Konzepte
Übersicht über Transformationen
Übersicht über Routingereignisse