Rimuovere il rettangolo di attivazione su un UserControl
-
03-07-2019 - |
Domanda
Ho un UserControl WPF con Focusable = " True " ;. È l'unico controllo focalizzabile nella finestra.
Ogni volta che l'utente preme Tab o Alt (e specialmente quando Alt + Tab su un'altra applicazione), il mio UserControl acquisisce un bordo tratteggiato, noto anche come rettangolo di attivazione. Il rettangolo di messa a fuoco rimane quindi finché la finestra non viene chiusa.
Come posso impedire a UserControl di visualizzare questo rettangolo di attivazione?
Modifica
Si scopre che il rettangolo di messa a fuoco non era effettivamente visualizzato dal mio UserControl. Il mio UserControl Focusable conteneva un altro UserControl che, a sua volta, conteneva un ItemsControl, e ItemsControl è ciò che mostrava il rettangolo di attivazione.
Quando ho aggiunto FocusVisualStyle = " {x: Null} " a ItemsControl, il rettangolo di attivazione è scomparso.
Soluzione
Se non si desidera visualizzare il rettangolo di messa a fuoco in ogni caso, è possibile impostare FocusVisualStyle su null.
<MyControl FocusVisualStyle="{x:Null}" />