WPF obtiene elemento(s) debajo del mouse
visualtreehelper visual-tree (3)
¿Hay alguna manera con WPF de obtener una serie de elementos bajo el mouse en un evento MouseMove?
De " WPF Unleashed ", página 383:
Las pruebas de detección visual pueden informarle sobre todos los
Visualque intersecten con una ubicación, [...] debe usar el[VisualTreeHelper.]HitTestque acepta un delegadoHitTestResultCallback. Antes de queHitTestesta versión deHitTest, se invoca al delegado una vez para cadaVisualrelevante, comenzando desde la más alta hasta la más inferior.
La firma de dicha devolución de llamada es
HitTestResultBehavior Callback(HitTestResult result)
y debe devolver HitTestResultBehaviour.Continue para recibir más visitas, como se muestra a continuación (desde la página enlazada en 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;
}
Para obtener más información, consulte la documentación de MSDN para VisualTreeHelper.HitTest .
También puede intentar usar la propiedad Mouse.DirectlyOver para obtener el elemento superior que está debajo del mouse.