Impedire all'evento GotFocus di WPF TreeView di gorgogliare l'albero
Domanda
Sto provando a scrivere un gestore di eventi che si attiva ogni volta che un nodo in TreeView ottiene lo stato attivo. Il problema in cui mi imbatto è che il gestore di eventi si attiva sull'albero TreeViewItem (nodo) su cui faccio clic con il mouse e quindi continua a creare bolle nell'albero di controllo, anche se ho impostato e.Handled = true su il RoutedEventArgs fornito al gestore. Qualcuno ha idea di quale potrebbe essere il problema? Ho ricontrollato il mio codice e non vedo alcun motivo per cui ciò dovrebbe accadere.
Soluzione
Stai usando TreeView.GotFocus quando vuoi davvero TreeViewItem.Selected?
<TreeView TreeViewItem.Selected="treeView1_Selected" />
Se vuoi davvero concentrarti, usa TreeViewItem.Focus invece in modo che gli oggetti siano presi di mira invece dell'intero albero.
<TreeView TreeViewItem.GotFocus="treeView1_GotFocus"/>