Comment : appliquer une transformation à un élément lorsqu'un événement se produit
Cet exemple montre comment appliquer un ScaleTransform événement lorsqu’un événement se produit. Le concept illustré ici est le même que celui que vous utilisez pour l’application d’autres types de transformations. Pour plus d’informations sur les types de transformations disponibles, consultez la Transform classe ou la vue d’ensemble des transformations.
Vous pouvez appliquer une transformation à un élément de deux façons :
Si vous ne souhaitez pas que la transformation affecte la disposition, utilisez la RenderTransform propriété de l’élément.
Si vous souhaitez que la transformation affecte la disposition, utilisez la LayoutTransform propriété de l’élément.
L’exemple suivant applique une ScaleTransform propriété RenderTransform d’un bouton. Lorsque la souris se déplace sur le bouton, les ScaleX propriétés et ScaleY les ScaleTransform propriétés du bouton sont définies 2
sur , ce qui entraîne la plus grande taille du bouton. Lorsque la souris se déplace hors du bouton et ScaleXScaleY est définie 1
sur , ce qui entraîne le retour du bouton à sa taille d’origine.
Exemple
<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
Voir aussi
.NET Desktop feedback