XAML C# ne page Web est une fenêtreComment forcer LostFocus lorsque le bouton est cliqué
Au clic d'un bouton I:
- besoin de piéger le nom du dernier contrôle
OnFocus
- Forcer l'événement
LostFocus
du contrôle.
XAML C# ne page Web est une fenêtreComment forcer LostFocus lorsque le bouton est cliqué
Au clic d'un bouton I:
OnFocus
LostFocus
du contrôle.// PROBLÈME: en cliquant sur btns ne force pas LostFocus événement sur le dernier contrôle de l'élément entré (dernier contrôle d'entrée peut être du texte, case à cocher ou autres) ajouté le bouton Enregistrer, où appeler cette méthode, il déplace le focus vers parent forcer lostfocus sur le dernier élément.
private void btnSave_Click(object sender, RoutedEventArgs e)
{
AcceptLastFocusedElement(sender, e);
}
private void AcceptLastFocusedElement(object sender, RoutedEventArgs e)
{
FocusManager.SetFocusedElement(this, (Button)sender);
}
REMARQUE: inutile d'utiliser la tâche numéro 1 (obtention du nom de l'élément).
Vous pouvez utiliser la méthode LayoutUpdated
.
Ainsi, chaque fois qu'un événement se produit, il se produit dans l'événement LayoutUpdated
et vous pouvez intercepter le LastFocusObject
.
Cela fonctionne ... mais pas toujours. J'ai eu un cas où la deuxième fois que nous avons exécuté ce code, il ne causera pas un focus perdu à cause de FocusGroup. La solution dans cette réponse http://stackoverflow.com/a/4724766/197371 a résolu mon problème spécifique –
suis heureux que nous réduisions ces problèmes !. – ramnz