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?

¿Fue útil?

Solución 2

Finalmente se encontró una solución. Cada uno de los Canvases tienen Adorners. 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!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top