Domanda

Ho una griglia 6x8 di oggetti System.Windows.Controls.Canvas. La tela in alto a sinistra non riceve gli eventi del mouse, mentre tutti gli altri lo fanno. Ho provato eventi OnMouseMove e OnMouseClick.

Un oggetto figlio non gestisce l'evento, perché System.Windows.Media.VisualTreeHelper#GetChildrenCount() non mostra tutti i bambini. Non ho potuto prendere PreviewOnMouseMove neanche. Ci può essere un certo controllo (forse trasparente) di fronte alla mia tela che sta prendendo la precedenza?

È stato utile?

Soluzione 2

Finalmente ho trovato una soluzione. Ognuna delle Canvases hanno Adorners. Secondo questo articolo MSDN , adorners ricevono eventi del mouse prima dell'elemento UI sottostante lo fa. Ho impostato la proprietà di tutti i miei IsHitTestVisible adorners a false.

Altri suggerimenti

Spero che questo ti aiuta, giusto valore Transparent impostato alla proprietà Background per il Canvas:

Background="Transparent"

In bocca al lupo!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top