質問

WPF を使用して、MouseMove イベントでマウスの下にある要素の配列を取得する方法はありますか?

役に立ちましたか?

解決

から "WPF アンリーシュド」、383ページ:

視覚的なヒットテストでお知らせします 全て Visual場所と交差するs [...]あなたは[...]を使用する必要があります [VisualTreeHelper.]HitTest を受け入れるメソッド HitTestResultCallback 代表者。のこのバージョンの前 HitTest 返品、代表者は関連する各に対して一度呼び出されます Visual, 、最上部から始まり、ボットモストで終わります。

このようなコールバックの署名は次のとおりです。

HitTestResultBehavior Callback(HitTestResult result)

そしてそれは戻らなければなりません HitTestResultBehaviour.Continue 以下に示すように、さらにヒットを受信します (MSDN のリンク先ページから)。

// Return the result of the hit test to the callback.
public HitTestResultBehavior MyHitTestResult(HitTestResult result)
{
    // Add the hit test result to the list that will be processed after the enumeration.
    hitResultsList.Add(result.VisualHit);

    // Set the behavior to return visuals at all z-order levels.
    return HitTestResultBehavior.Continue;
}

詳細については、以下を参照してください。 の MSDN ドキュメント VisualTreeHelper.HitTest.

他のヒント

また、Mouse.DirectlyOver プロパティを使用して、マウスの下にある最上位の要素を取得してみることもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top