Domanda

Ho una tela con i controlli utente disposti su di essa. Quando una descrizione comandi viene assegnata al controllo utente o a uno dei suoi figli, tale descrizione comandi non viene visualizzata (neanche l'evento open viene attivato). Non disabilito esplicitamente nessuno di essi.

Ho inserito molti tooltip altrove nell'applicazione e tutti mostrano, tranne quelli sul controllo utente che ho creato.

Qualche idea?

La gerarchia è approssimativamente la seguente:

<Grid>
 <Canvas>
  <UserControl>
   <Canvas>
    <Line/>
    <Rectangle/>
   </Canvas>
  </UserControl>
 </Canvas
</Grid>
È stato utile?

Soluzione 2

Alla fine l'ho capito. Sulla mia tela, stavo disegnando linee di puntatore (orizzontale e verticale da mostrare sulla griglia in cui mi trovo e i valori a sinistra / in basso), si scopre che quando veniva eseguito il hit test, colpiva quelle linee e si fermava . Impostando IsHitTestVisible su false su tutta la geometria non pertinente, la descrizione comando ora viene visualizzata correttamente.

Il motivo per cui stavo vedendo l'evento mouse entra / esci era perché quando si spostava il cursore, le linee trascinavano 1 fotogramma dietro e quindi permettevano al mouse di entrare / uscire ma non muoversi.

Questo risolve il mio problema.

Altri suggerimenti

Se lo sfondo di Usercontrol è x: Null, gli eventi del mouse passeranno al contenuto sottostante. Puoi usare & Quot; Trasparente & Quot; per garantire che gli eventi del mouse passino al controllo utente.

Questo comportamento non è univoco per i controlli utente; è il comportamento generale di tutto il WPF. Nel tuo esempio, supponendo che tu abbia un riempimento sugli elementi figlio, dovresti essere in grado di passare sopra quelli e vedere le descrizioni dei comandi che hai impostato.

Inizialmente avevo riscontrato questo problema quando ho provato nella mia tela di root, il mio rettangolo non mostrava una descrizione comando quando lo sfondo era nullo. Tuttavia, ciò non risolve il problema per il controllo utente. Ho provato uno sfondo trasparente sia per il controllo utente che per l'area di disegno al suo interno, il rettangolo all'interno di quell'area di disegno interna ha uno sfondo nero e tuttavia, nessuna fortuna: la descrizione non si aprirà.

Ho provato a posizionare un suggerimento sulla mia tela di root e in effetti si presenta ma non sui controlli dei miei singoli figli figlio né sulla loro tela / figli interni, anche se hanno un set di sfondo / riempimento.

Inoltre, il posizionamento di un evento MouseEnter mostra che si attiva effettivamente quando il mouse entra nell'area di disegno interna, tuttavia la descrizione comandi non verrà visualizzata.

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