2010-10-10 3 views
6

Mon application. contient la fenêtre dans l'image:DataGrid, TextBox - liaison et mises à jour instantanées

alt text

Le ItemsSource de la grille de données est réglé sur _editList (déclarée comme IList < vendeur> _editList;).

La grille de données est définie sur Lecture seule.

La zone de texte Nom du vendeur a l'ensemble de liaison comme: Text = "{Binding ElementName = dataGridVendors, Path = SelectedItem.Name, mode = TwoWay}"

Cela fonctionne bien. Toutefois, comme la cellule Nom du fournisseur est mise à jour uniquement lorsque l'utilisateur a fini de taper dans la zone de texte Nom du fournisseur et clique sur autre chose. Dites que je veux changer le nom du vendeur en "John Lennon II". Je dois cliquer sur la zone de texte et taper les caractères que je veux ajouter et que je dois cliquer sur quelque chose d'autre et seulement alors le DataGrid fait la mise à jour.

Je souhaite que la mise à jour se fasse lorsque l'utilisateur tape les caractères .... Est-ce possible?

Cordialement, Sebastian

Répondre

14

Ajouter le UpdateSourceTrigger à votre liaison

Text="{Binding ElementName=dataGridVendors, Path=SelectedItem.Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 

Son déclenchement par défaut est perdu le focus. Lorsque vous le modifiez à PropertyChanged, les mises à jour sont effectuées lorsque vous tapez.

+0

merci beaucoup! J'apprécie beaucoup cela ! – MadSeb