UIElement.IsMouseOver プロパティ


マウス ポインターがこの要素 (ビジュアル ツリー内の子要素を含む) の上にあるかどうかを示す値を取得します。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.

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


マウス ポインターが要素またはその子要素の上にある場合は true、それ以外の場合は falsetrue if mouse pointer is over the element or its child elements; otherwise, false. 既定値は、false です。The default is false.


次の例では、<スタイルの一部である Triggerのプロパティの型として、このプロパティを参照しています。トリガー > ブロックです。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"/>


通常、コントロールは複合コントロールであり、コントロール内のさまざまな要素 (ビジュアルツリー) は、格納しているコントロールのマウス状態をすべて報告します。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. たとえば、ListBox スタイルコントロールは、ListBoxItemを含めて、そのジオメトリの上にマウスがある場合に true として IsMouseOver を報告します。For example, a ListBox style control will report IsMouseOver as true if the mouse is anywhere over its geometry, including any ListBoxItem.

似た "IsMouseOverChanged" イベントは存在しませんが、いくつかの類似イベントがあります。Although an analogous "IsMouseOverChanged" event does not exist, several similar events do. たとえば、MouseEnterMouseMove、および IsMouseDirectlyOverChangedを処理できます。For example, you can handle MouseEnter, MouseMove, and IsMouseDirectlyOverChanged.

この要素がマウスをキャプチャすると、マウスのキャプチャが失われ、マウスポインターが要素の境界内から出るまで、このプロパティは true のままになります。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. これにより、マウスが一見移動されていなくても、IsMouseOvertrue される可能性があります。This can lead to IsMouseOver being true even though the mouse has not apparently moved.

依存プロパティ情報Dependency Property Information

識別子フィールドIdentifier field IsMouseOverProperty
メタデータプロパティが true に設定されるMetadata properties set to true なしNone