Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UIElement.MouseLeave Event

Occurs when the mouse pointer leaves the bounds of this element.

Namespace: System.Windows
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:

Public Event MouseLeave As MouseEventHandler
Dim instance As UIElement
Dim handler As MouseEventHandler

AddHandler instance.MouseLeave, handler

/** @event */
public final void add_MouseLeave (MouseEventHandler value)

/** @event */
public final void remove_MouseLeave (MouseEventHandler value)

In JScript, you can handle the events defined by a class, but you cannot define your own.
<object MouseLeave="MouseEventHandler" .../>

Identifier field


Routing strategy




  • Override OnMouseLeave to implement class handling for this event in derived classes.

MouseLeave is a routed event that uses the direct event handling routing strategy. Direct routed events are not raised along a route; instead, they are handled in the same element where they are raised. However, they do enable other aspects of routed event behavior, such as event triggers in styles.

Although MouseLeave tracks when the mouse leaves an element, this event more literally reports that the IsMouseOver property value has changed from true to false on this element.

This event creates an alias for the Mouse.MouseLeave attached event for this class, so that MouseLeave is part of the class members list when UIElement is inherited as a base element. Event handlers that are attached to the MouseLeave event are attached to the underlying Mouse.MouseLeave attached event and receive the same event data instance.

This example shows how to change the color of an element as the mouse pointer enters and leaves the area occupied by the element.

This example consists of a Extensible Application Markup Language (XAML) file and a code-behind file. For the complete samples, see Mouse Pointer Sample.


This example demonstrates how to use events, but the recommended way to achieve this same effect is to use a Trigger in a style. For more information, see Styles Overview.

The following XAML creates the user interface, which consists of Border around a TextBlock, and attaches the MouseEnter and MouseLeave event handlers to the Border.

  <Border MouseEnter="OnMouseEnterHandler"
          Name="border1" Margin="10"
          Width="300" Height="100">
    <Label Margin="10" FontSize="14"
           HorizontalAlignment="Center">Move Cursor Over Me</Label>

The following code behind creates the MouseEnter and MouseLeave event handlers. When the mouse pointer enters the Border, the background of the Border is changed to red. When the mouse pointer leaves the Border, the background of the Border is changed back to white.

Partial Public Class Window1
    Inherits Window

    Public Sub New()
    End Sub
    ' raised when mouse cursor enters the are occupied by the element
    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
    Sub OnMouseLeaveHandler(ByVal sender As Object, ByVal e As MouseEventArgs)
        border1.Background = Brushes.White
    End Sub
End Class

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

© 2017 Microsoft