Qual è la differenza (s) tra GotFocus
e GotKeyboardFocus
e analogamente LostFocus
e LostKeyboardFocus
?La differenza tra GotFocus e GotKeyboardFocus
Ci scusiamo per la semplice domanda, ma ho cercato su Google e letto molti post del blog, ma sono ancora confuso. Sembra che nessuno sa esattamente qual è la differenza):
UPDATE:
mio utilizzo:
sto creando un controllo personalizzato estendendo Control
classe. Qualcosa come ComboBox
ma con alcuni altri effetti. Sto cercando di aprire e chiudere un Popup
impostando una proprietà: IsDropDownOpen
proprio come un ComboBox
attraverso gli eventi GotFocus
e LostFocus
. Non voglio Popup
chiudersi, quando I Alt+Tab
ed i windows, ma si chiudono quando clicco su un Button
per esempio o vado a un TextBox
. Ho fatto:
private static void OnGotFocusHandler(object sender, RoutedEventArgs e) {
if (e.Handled)
return;
((SearchBox)sender).IsDropDownOpen = true;
e.Handled = true;
}
private static void OnLostFocusHandler(object sender, RoutedEventArgs e) {
if (e.Handled)
return;
((SearchBox)sender).IsDropDownOpen = false;
e.Handled = true;
}
I GotFocus
opere. Ma lo Lost
non lo ha fatto. Se faccio il roba Lost
in LostKeyboardFocus
allora quando I Alt+Tab
le finestre, o Window
diventa inattivo, allora il metodo viene chiamato, mentre io non voglio. Come posso risolverlo?
+1 grazie, buona spiegazione. effettivamente meglio degli MSDN ". Molte grazie. Aspetto altre risposte un po ', e poi -se non meglio quello ricevuto- accetta il tuo. –
Bene, sto cercando di aprire un 'Popup' (in un controllo personalizzato ereditato dalla classe' Control') impostando una proprietà 'IsDropDownOpen'.L'ho impostato su 'true' in' GotFocus', funziona. Voglio impostarlo su 'false', nell'evento' LostFocus'. Ma non funziona. Non voglio farlo in 'LostKeyboardFocus', ma in' LostFocus'. Qualche idea per favore? –
Penso che avrai bisogno di creare una nuova domanda con alcuni esempi di codice. Non riesco a eseguire il debug del tuo scenario da quella breve descrizione. –