导出 (0) 打印
全部展开
展开 最小化
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

UIElement.MouseEnter 事件

在鼠标指针进入此元素的边界时发生。

命名空间:  System.Windows
程序集:  PresentationCore(在 PresentationCore.dll 中)
XAML 的 XMLNS: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public event MouseEventHandler MouseEnter
<object MouseEnter="MouseEventHandler" .../>

实现

IInputElement.MouseEnter

标识符字段

MouseEnterEvent

路由策略

直接

delegate

MouseEventHandler

  • 重写 OnMouseEnter 以在派生类中实现此事件的类处理。

MouseEnter 是一个使用直接事件处理路由策略的路由事件 直接路由事件不在路由过程中引发,而是在引发它们的元素中处理。 不过,它们启用了其他方面的路由事件行为,如样式中的事件触发器。

虽然 MouseEnter 可以跟踪鼠标指针何时进入元素边界,但此事件能够更确切地报告此元素的 IsMouseOver 属性值已从 false 更改为 true

UIElement 作为基元素继承时,此事件会为该类的 Mouse.MouseEnter 附加事件创建一个别名,以便 MouseEnter 包含在该类的成员列表中。 附加到 MouseEnter 事件的事件处理程序将附加到基础 Mouse.MouseEnter 附加事件,并接收同一事件数据实例。

当按钮具有焦点,并且被按下的键是空格键时,Button(或任何 ButtonBase 派生类)具有 KeyDown 事件的本机处理。 本机处理将使用按钮作为源,引发 Click 事件,并且还会捕获鼠标,即使鼠标指针看起来未移动时也是如此。 作为鼠标捕获的结果,还将引发以按钮作为源的 MouseEnter 事件。 通常情况下,如果某个元素捕获鼠标,就会引发 MouseEnterGotMouseCapture,并且可能会引发其他特定于控件的事件。

本示例演示如何在鼠标指针进入和离开元素所在的区域时更改元素的颜色。

本示例包括一个可扩展应用程序标记语言 (XAML) 文件和一个代码隐藏文件。

说明说明

本示例演示了如何使用事件,但建议在样式中使用 Trigger 来获得相同的效果。 有关更多信息,请参见样式设置和模板化

下面的 XAML 创建用户界面(它包括围绕在 TextBlock 周围的 Border),并将 MouseEnterMouseLeave 事件处理程序附加到 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>


下面的代码隐藏文件创建 MouseEnterMouseLeave 事件处理程序。 当鼠标指针进入 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;
    }
}


.NET Framework

受以下版本支持:4.5、4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

并不是.NET Framework 对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求.

社区附加资源

添加
显示:
© 2015 Microsoft