WPF マウスの下の要素を取得します
-
09-06-2019 - |
質問
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 プロパティを使用して、マウスの下にある最上位の要素を取得してみることもできます。
所属していません StackOverflow