2010-01-22 6 views
0

J'ai un myObject.Name objet dans un Form1 avec un textBox1 Dans le Form1_Load je fais:commentaires DataBinding dans .NET2

this.TextBox1.DataBindings.Add("Text", myObject, "Name"); 

Lors de la validation du textBox je myObject.Name changé. Ceci est OK.

Maintenant, je modifie en interne dans myObject _name = "changed value", mais le texte myTextBox ne changera pas. alors ... comment le faire dans les deux sens, de et à le textBox1?

Répondre

1

Votre objet doit implémenter INotifyPropertyChanged pour que la liaison de données sache que votre objet a été modifié.

+1

... puis la ligne suivante après '_name =" valeur modifiée "' doit être quelque chose comme 'PropertyChanged (this, new PropertyChangedEventArgs (" Name "));'. Fondamentalement, vous créez un événement qui se déclenche chaque fois qu'une propriété change, mais * vous devez implémenter le déclenchement de cet événement dans vos setters *. – Jay

+0

merci! Si simple :) – serhio

+0

Merci Jay pour les détails de mise en œuvre :) – Lucero