UIElement.IsMouseOver Property

Definition

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.

public:
 property bool IsMouseOver { bool get(); };
public bool IsMouseOver { get; }
member this.IsMouseOver : bool
Public ReadOnly Property IsMouseOver As Boolean

Property Value

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

Implements

Examples

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"/>
</Trigger>

Remarks

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.

Dependency Property Information

Identifier field IsMouseOverProperty
Metadata properties set to true None

Applies to