Из " WPF Unleashed ", стр. 383:
Визуальное тестирование попадания может сообщить вам
около всех Visual
с, которые пересекают
местоположение, [...] вы должны использовать [...]
[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
.