この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

UIElement.CaptureMouse メソッド

UIElement にマウス キャプチャを設定します。

名前空間:  System.Windows
アセンブリ :  System.Windows (System.Windows.dll 内)

public bool CaptureMouse()

戻り値

型 : System.Boolean
オブジェクトがマウス キャプチャを保持している場合、true を返します。それ以外の場合は、false を返します。

オブジェクトがマウスをキャプチャしていた場合は、マウス ポインターがそのオブジェクトの境界領域内にあるかどうかにかかわらず、マウス入力を受け取ります。 通常、マウスはドラッグ操作中にだけシミュレートされます。 マウス キャプチャを解放するには、キャプチャを保持しているオブジェクトに対して ReleaseMouseCapture メソッドを呼び出します。

以下のすべての条件が満たされた場合に、マウスのキャプチャが可能になります。

  • マウス ポインターが Silverlight プラグイン コンテンツ領域の上にある。

  • 他の Silverlight オブジェクトがマウスをキャプチャしていない。

  • 他の Silverlight 以外のオブジェクトがネイティブ レベルまたはスクリプト レベルでマウスをキャプチャしていない (マウス ポインターがブラウザーの Silverlight 以外の領域に出て、スクリプトによってキャプチャされた場合、この状態になる可能性があります)。

  • マウスの左ボタンが押された状態になっている。

これらの条件の 1 つでも満たされない場合、CaptureMouse の戻り値は false に設定されます。

最初の CaptureMouse 呼び出しで true が返され、マウスが正常にキャプチャされた場合、同じオブジェクトに対する後続の CaptureMouse 呼び出しは、条件が変わらない限り、引き続き true が返されます。そのオブジェクトが既にキャプチャを持っていた場合も、CaptureMouse は同じ値を返します。 アプリケーションの要件によっては、オブジェクトがキャプチャを保持しているかどうかを追跡する変数、または現在キャプチャを持っているオブジェクトへの参照を提供する変数を設定すると役に立つことがあります。 この方法を使用する場合は、各 CaptureMouse 呼び出しに変数を設定し、各 ReleaseMouseCapture 呼び出しの変数をクリアしてください。

UIElement 派生オブジェクトのみがマウスをキャプチャできます。 視覚的な特徴を備えていてもマウスをキャプチャできない他のオブジェクトの代表的な例には、Run (親 TextBlock のみがキャプチャできます) およびジオメトリ (親 Path のみがキャプチャできます) があります。

CaptureMouse を呼び出す UIElement は、UI に表示されるヒット テストである必要があります。 これは、IsHitTestVisiblefalse を指定できないことを意味します。 詳細については、ヒット テストと入力イベント のトピックを参照してください。

Silverlight

サポート対象 : 5、4、3

Silverlight for Windows Phone

サポート対象 : Windows Phone OS 7.1、Windows Phone OS 7.0

Silverlight でサポートされるオペレーティング システムの詳細については、「サポートされているオペレーティング システムとブラウザー」を参照してください。

コミュニティの追加

追加
表示: