Partager via


Guide pratique pour créer un effet de substitution à l’aide d’événements

Cet exemple montre comment modifier la couleur d’un élément lorsque le pointeur de la souris entre et laisse la zone occupée par l’élément.

Cet exemple se compose d’un fichier XAML (Extensible Application Markup Language) et d’un fichier code-behind.

Remarque

Cet exemple montre comment utiliser des événements, mais la méthode recommandée pour obtenir le même effet consiste à utiliser un style Trigger. Pour plus d’informations, consultez Style et Création de modèles.

Exemple :

Le code XAML suivant crée l’interface utilisateur, qui se compose d’un Border autour d’un TextBlock, et attache les gestionnaires d’événements MouseEnter et MouseLeave au Border.

<StackPanel>
  <Border MouseEnter="OnMouseEnterHandler"
          MouseLeave="OnMouseLeaveHandler"
          Name="border1" Margin="10"
          BorderThickness="1"
          BorderBrush="Black"
          VerticalAlignment="Center"
          Width="300" Height="100">
    <Label Margin="10" FontSize="14"
           HorizontalAlignment="Center">Move Cursor Over Me</Label>
  </Border>
</StackPanel>

Le code suivant crée les gestionnaires d'événements MouseEnter et MouseLeave. Lorsque le pointeur de la souris entre dans le Border, l'arrière-plan du Border est changé en rouge. Lorsque le pointeur de la souris quitte le Border, l’arrière-plan de l’élément Border est remis en blanc.

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    // raised when mouse cursor enters the area occupied by the element
    void OnMouseEnterHandler(object sender, MouseEventArgs e)
    {
        border1.Background = Brushes.Red;
    }

    // raised when mouse cursor leaves the area occupied by the element
    void OnMouseLeaveHandler(object sender, MouseEventArgs e)
    {
        border1.Background = Brushes.White;
    }
}
Partial Public Class Window1
    Inherits Window

    Public Sub New()
        InitializeComponent()
    End Sub
    ' raised when mouse cursor enters the are occupied by the element
    Private Sub OnMouseEnterHandler(ByVal sender As Object, ByVal e As MouseEventArgs)
        border1.Background = Brushes.Red
    End Sub
    ' raised when mouse cursor leaves the are occupied by the element
    Private Sub OnMouseLeaveHandler(ByVal sender As Object, ByVal e As MouseEventArgs)
        border1.Background = Brushes.White
    End Sub
End Class