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
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top