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.IsMouseOver Property


Gets a value indicating whether the mouse pointer is located over this element (including child elements in the visual tree). This is a dependency property.

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

Public ReadOnly Property IsMouseOver As Boolean

Property Value

Type: System.Boolean

true if mouse pointer is over the element or its child elements; otherwise, false. The default is false.

Typically, controls are composited such that the various elements inside the control (the visual tree) will all report the mouse state for the containing control. For example, a ListBox style control will report IsMouseOver as true if the mouse is anywhere over its geometry, including any ListBoxItem.

Although an analogous "IsMouseOverChanged" event does not exist, several similar events do. For example, you can handle MouseEnter, MouseMove, and IsMouseDirectlyOverChanged.

If this element captures the mouse, this property remains true until mouse capture is lost and the mouse pointer leaves the element bounds.

Some controls deliberately capture the mouse on certain actions that do not appear to directly involve the mouse. This can lead to IsMouseOver being true even though the mouse has not apparently moved.

Identifier field


Metadata properties set to true


The following example references this property as the property type of a Trigger, part of a <Style.Triggers> block. If the mouse is over the control, the control text turns blue and the cursor becomes a hand.

<Trigger Property="IsMouseOver" Value="true">
  <Setter Property="Foreground" Value="Blue" />
  <Setter Property="Cursor" Value="Hand"/>

.NET Framework
Available since 3.0
Return to top
© 2015 Microsoft