J'ai un TextBox
et un ToolBar
avec un Button
. Si je tape dans le TextBox
et que je clique sur le Button
, je veux que le TextBox
perde Focus
pour que la liaison soit mise à jour. Je ne veux pas ajouter un UpdateSourceTrigger=PropertyChanged
à mon TextBox
. Mais à la place, quand je clique sur le Button
, je réinitialise Focus
à la fenêtre principale donc quoi que je sois, je perds Focus
et met à jour les liaisons.WPF Reset Focus sur le bouton Cliquez sur
J'ai essayé d'ajouter un OnClick
au bouton avec ce qui suit, mais il ne semble pas fonctionner:
private void Button_Click(object sender, RoutedEventArgs e) {
FocusManager.SetFocusedElement(this, null);
}
Des conseils seraient appréciés.
Merci, Raul
J'ai essayé un Keyboard.Focus (mainWindow); mais cela ne semble pas changer non plus l'objectif. Il reste sur la zone de texte ou quel élément a été sélectionné. Pour le moment, je force explicitement l'élément à UpdateSource() mais cela ne semble pas être une solution durable à long terme. Je vais essayer d'ajouter un contrôle fantôme pour régler le focus. – HaxElit
'Keyboard.Focus (mainWindow)' ne fonctionnera que si "mainWindow" est Focusable (par défaut il ne l'est pas) et s'il est dans le même 'FocusScope' que le' TextBox'. Essayez de créer un contrôle 'Focusable =" true "' dans le même conteneur que le TextBox et en le concentrant. L'autre contrôle peut être un simple ' '. Comme 'Control' n'a pas de template par défaut, il sera invisible. –
Génial! Cela a fonctionné comme un charme. Merci! – HaxElit