Como: Criar um efeito de sobreposição usando eventos
Este exemplo mostra como alterar a cor de um elemento à medida que o ponteiro do mouse entra e sai da área ocupada pelo elemento.
Este exemplo consiste em um arquivo XAML (Extensible Application Markup Language) e um arquivo code-behind.
Observação
Este exemplo demonstra como usar eventos, mas a maneira recomendada de obter esse mesmo efeito é usar um Trigger em um estilo. Para obter mais informações, consulte Styling and Templating.
Exemplo
O XAML a seguir cria a interface do usuário, que consiste em Border em torno de um TextBlocke anexa os manipuladores de eventos MouseEnter e MouseLeave ao 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>
O code-behind a seguir cria os manipuladores de eventos MouseEnter e MouseLeave. Quando o ponteiro do mouse entra no Border, o plano de fundo do Border é alterado para vermelho. Quando o ponteiro do mouse sai do Border, o plano de fundo do Border é alterado de volta para branco.
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