Partager via


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 2sur , ce qui entraîne la plus grande taille du bouton. Lorsque la souris se déplace hors du bouton et ScaleXScaleY est définie 1sur , 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