WPF TextBox LOSTFOCUS comme propriété attachée
-
29-09-2019 - |
Question
J'ai une grille avec beaucoup de zones de texte et je veux appeler la méthode de NotifyPropertyChanged()
mettre à jour d'autres contrôles à chaque fois que l'une de ces zones de texte a changé la valeur = perdu le focus ( Je ne veux pas utilisation PropertyChanged
comme UpdateSourceTrigger
)
est ce que je peux faire:
<Grid TextBoxBase.TextChanged="My_TextChanged" >
...
</Grid>
Je besoin de quelque chose comme:
TextBoxBase.OnLostFocus
La solution
Utilisez l'événement de mise au point perdu
TextBox.LostFocus="OnTextBoxLostFocus"
Filtre sur les zones de texte;)
private void OnTextBoxLostFocus(object sender, RoutedEventArgs e)
{
if(!(e.OriginalSource is TextBox))
return;
//Do stuff
}
Si vos propriétés ne sont pas modifiés, vos zones de texte ne sera pas mis à jour cependant. Vous devriez considérer les données les muter d'autres zones de texte sont liés à, au lieu d'utiliser LostFocus de mettre à jour votre modèle.
Bonne chance!
Autres conseils
TextBoxBase.LostFocus
est, je pense, l'événement que vous recherchez.
Il est répertorié ici: http: / /msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - mais il est défini sur UIElement
- donc vous voulez peut-être essayer UIElement.LostFocus
si le précède ne fonctionne pas dans balisage.