如何使用事件创建悬停效果
此示例演示如何更改元素的颜色,因为鼠标指针进入并离开元素占用的区域。
此示例由可扩展应用程序标记语言(XAML)文件和代码隐藏文件组成。
例
以下 XAML 创建用户界面,该用户界面由 TextBlock周围的 Border 组成,并将 MouseEnter 和 MouseLeave 事件处理程序附加到 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>
下面的代码创建 MouseEnter 和 MouseLeave 事件处理程序。 当鼠标指针进入 Border时,Border 的背景将更改为红色。 当鼠标指针离开 Border时,Border 的背景将更改为白色。
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