Comment : 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 ce même effet consiste à utiliser un Trigger style. Pour plus d’informations, consultez Application d’un style et création de modèles.
Exemple
Le code XAML suivant crée l’interface utilisateur, qui se compose d’un BorderTextBlock, et attache les MouseEnter gestionnaires et MouseLeave les gestionnaires d’événements 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 derrière crée les gestionnaires d’événements et MouseLeave les MouseEnter gestionnaires d’événements. Lorsque le pointeur de la souris entre en Borderrouge, l’arrière-plan du pointeur de la Border souris est remplacé par rouge. Lorsque le pointeur de la souris quitte, Borderl’arrière-plan de l’élément Border est rebasculé 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
.NET Desktop feedback