evento de ratón no alcanzar UIElement
-
09-10-2019 - |
Pregunta
Tengo una cuadrícula de 6x8 de objetos System.Windows.Controls.Canvas
. El lienzo superior izquierda no recibe eventos de ratón, mientras que todos los demás lo hacen. Probé eventos OnMouseMove
y OnMouseClick
.
Un objeto secundario no está manejando el caso porque System.Windows.Media.VisualTreeHelper#GetChildrenCount()
no muestra ningún hijo. No podía coger PreviewOnMouseMove
tampoco. ¿Puede haber algo de control (tal vez transparente) delante de mi lienzo que está teniendo precedencia?
Solución 2
Finalmente se encontró una solución. Cada uno de los Canvas
es tienen Adorner
s. De acuerdo con este artículo de MSDN , adorners reciben eventos de ratón antes de que el elemento de interfaz de usuario subyacente hace. He establecido la propiedad IsHitTestVisible
de todos mis adorners a false
.
Otros consejos
Espero que esto le ayuda, acaba de establecer el valor Transparent
a la propiedad Background
para la Canvas
:
Background="Transparent"
Buena suerte!