evento del mouse non raggiungendo UIElement
-
09-10-2019 - |
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?
Soluzione 2
Finalmente ho trovato una soluzione. Ognuna delle Canvas
es hanno Adorner
s. 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!