¿Hay alguna manera con WPF de obtener una matriz de elementos bajo el mouse en un evento MouseMove?Obtiene elemento (s) WPF bajo el mouse
Respuesta
De "WPF Unleashed", página 383:
prueba visual del golpe pueden informarle sobre todos
Visual
s que se cruzan una ubicación, [...] debe utilizar [...] el método[VisualTreeHelper.]HitTest
que acepta un delegadoHitTestResultCallback
. Antes de esta versión deHitTest
devuelve, el delegado se invoca una vez para cada relevanteVisual
, comenzando por el arriba y terminando en el extremo inferior.
La firma de una devolución de llamada tal es
HitTestResultBehavior Callback(HitTestResult result)
y tiene que volver HitTestResultBehaviour.Continue
para recibir otros golpes, como se muestra a continuación (de 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 el MSDN documentation for VisualTreeHelper.HitTest
.
¿Se puede usar el VisualTreeHelper.HitTest?
http://lukieb.blogspot.com/2008/07/visualtreehelperhittest.html
La sobrecarga utilizada en el ejemplo vinculado ([que probablemente debería replicarse directamente también en la respuesta] (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain- links-elsewhere-really-good-answers)) solo encontrará el elemento superior en la ubicación del mouse, ** ** una matriz de elementos debajo del mouse. –
También puede tratar de usar la propiedad Mouse.DirectlyOver para obtener el mayor elemento de la parte superior que está bajo el puntero del ratón.
Esto ** ** no proporcionará una matriz de elementos debajo del mouse, pero de hecho solo devuelve el elemento superior. –
- 1. Cómo obtener el elemento bajo el cursor en WPF ListView
- 2. Obtiene el elemento ArrayList específico
- 3. HTML: ¿Obtiene un elemento secundario para mostrar detrás (índice z más bajo) que su elemento primario?
- 4. Cómo aplicar el elemento secundario: pase el mouse pero no el elemento primario: pase el mouse
- 5. Obtiene el elemento/objeto donde se coloca el elemento
- 6. WPF Obtiene el propietario de UserControl
- 7. Excel VBA obtiene rango de rango seleccionado por el mouse
- 8. Obtiene el elemento más largo en Dict
- 9. C# - Obtiene el elemento primario de ToolStripMenuItem
- 10. Obtiene el primer elemento secundario inmediato
- 11. WPF ToolTip desaparece en el mouse hacia abajo
- 12. Movimiento del mouse en el elemento
- 13. Identificación del elemento en el mouse sobre
- 14. WPF - Detecta el mouse durante un período de tiempo establecido
- 15. WPF FrameworkElement no recibe entrada de mouse
- 16. WPF Icono de mouse ocupado
- 17. Elemento de selección de lista de lista WPF en el mouse sobre
- 18. Distinga entre hacer doble clic con el mouse y hacer clic con el mouse en wpf
- 19. Obtiene el elemento del manifiesto android: versionName en el código
- 20. ¿Obtiene el índice del elemento actual en el bucle Powershell?
- 21. jQuery: ¿el mouse todavía está sobre el elemento?
- 22. WPF Calendar Control aferrándose al mouse
- 23. ¿En evento de mouse en WPF?
- 24. WPF: ¿obtiene el tamaño de UIElement en la memoria?
- 25. Obtiene el padre de TreeViewItem en HierarchicalDataTemplate en WPF
- 26. ¿Cómo cambio una imagen al pasar el mouse sobre WPF?
- 27. Obtiene elemento en la posición especificada - JavaScript
- 28. Obtiene documento objeto de un elemento secundario
- 29. JS Prototype obtiene elemento por clase?
- 30. Obtiene el último elemento en la lista de arrays
Para obtener un buen ejemplo, consulte el siguiente enlace msdn (sección: Uso de una devolución de llamada del resultado de la prueba Hit). [http://msdn.microsoft.com/en-us/library/ms752097.aspx](http://msdn.microsoft.com/en-us/library/ms752097.aspx) –
página 503 en la edición 2010 de el libro. FYI. – Sabuncu
Tenga en cuenta que obtiene un elemento de árbol visual que la mayoría de las veces no es lo que necesita. Tienes que buscar recursivamente a través de los padres de los hits para obtener tus elementos de vista lógica. – henon