WPF Получить элемент (ы) под мышью

Из «WPF Unleashed», стр. 383:

Визуальное visualtreehelper тестирование попаданий может elements сообщить вам о всех Visuals, пересекающих местоположение, [...] вы element должны использовать [...] [VisualTreeHelper.]HitTest метод, который visualtreehelper принимает HitTestResultCallback делегат. До эта visualtreehelper версия HitTest возвращается, делегат visualtreehelper вызывается один раз для каждого соответствующие element Visual, начиная с самая верхняя visualtreehelper и заканчивается самой нижней.

Подпись element такого обратного вызова

HitTestResultBehavior Callback(HitTestResult result)

и elements он должен вернуть HitTestResultBehaviour.Continue для получения elements дальнейших обращений, как element показано ниже (со связанной wpf страницы в 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;
}

Для получения wpf дополнительной информации wpf обратитесь к MSDN documentation for VisualTreeHelper.HitTest.

wpf

element

visualtreehelper

visual-tree

2022-10-11T03:49:10+00:00