Quello che voglio davvero è una versione di IsHitTestVisible che ignora del mouse click eventi, ma ancora trappole per topi entrare e uscire eventi.WPF: Ignora clic del mouse su di sovrapposizione/strumento decorativo, ma gestire MouseEnter evento
Sfondo: Un overlay informativo si apre sotto il controllo con focus ogni volta. Questo è un requisito, quindi non sono libero di rimuovere questo comportamento. Questo è implementato usando un decor contenente una forma rettangolare, riempita con un pennello immagine. Tutti i controlli sono creati in modo programmatico, nessun XAML coinvolto.
Comportamento desiderato: Quando l'utente esegue il mouse sopra il rettangolo, dovrebbe diventare parzialmente trasparente. Questo è così che possono vedere gli altri controlli sotto l'overlay e fare clic su di essi. Quando l'utente fa clic sull'overlay, il clic deve essere passato a qualsiasi controllo si trovi sotto l'overlay, proprio dove l'utente ha fatto clic.
Problema: se ho impostato IsHitTestVisible su True per consentire clic del mouse per passare attraverso, non ottengo eventi MouseEnter.
C'è un modo semplice per lasciare IsHitTestVisible True e quindi passare tutti tranne 2-3 eventi al controllo corretto sotto l'adorner? Sto cercando una soluzione che non implichi il calcolo di quale controllo si trova al di sotto del cursore, dal momento che WPF è chiaramente in grado di farlo per me.
In alternativa, è possibile impostare IsHitTestVisible su False ma utilizzare un altro metodo semplice per determinare quando il mouse si trova sopra l'adorner?
UPDATE: sto ancora sperando in una risposta, ma fin d'ora la soluzione più promettente sembra essere lasciando IsHitTestVisible vero, e utilizzando il WPF HIT testare le API per capire che tipo di controllo era sotto il mouse cursore; se fosse uno di quelli che conosco, manderei un comando Click. Non sono sicuro che valga la pena farlo, comunque; A partire da ora, fa clic su Ignora il mio overlay, quindi l'utente deve solo fare clic due volte.
Grazie!
Hai mai risolto questo? Ho esattamente lo stesso requisito. – Grokys