36 votes

Comment puis-je faire la liaison de données en c #?

J'ai la classe suivante

public class Voiture
{
 public Nom {get; set;}
}

et je veux lier par programmation d'une zone de texte.

Comment dois-je faire?

Prise de vue dans l'obscurité:

...
Voiture voiture = new Voiture();
TextEdit editBox = new TextEdit();
editBox.La liaison de données.Add("Nom", la voiture, la Voiture "Nom");
...

J'obtiens l'erreur suivante: "Impossible de se lier à la propery 'Nom' sur la cible de contrôle.

Ce que je fais mal et comment dois-je faire cela? Je viens de trouver le databinding concept un peu difficile à saisir venant de développement web.

53voto

ageektrapped Points 7815

Tu veux

 editBox.DataBindings.Add("Text", car, "Name");
 

Le premier paramètre est le nom de la propriété sur le contrôle que vous souhaitez lier aux données, le second est la source de données, le troisième paramètre est la propriété sur la source de données que vous souhaitez lier.

11voto

Danimal Points 5721

sans regarder la syntaxe, je suis sûr que c'est

editBox.DataBinding.Add ("Texte", voiture, "Nom");

7voto

Romain Verdier Points 8699
 editBox.DataBinding.Add("Text", car, "Name");
 

Le premier argument est le nom de la propriété de contrôle, le second est l'objet à lier et le dernier, le nom de la propriété d'objet que vous souhaitez utiliser comme source de données.

6voto

John Hunter Points 2204

Vous êtes très proche, les liaisons de données de la ligne serait

editBox.DataBinding.Add("Text", car, "Name");

Ce premier paramètre est la propriété de votre zone d'édition de l'objet qui va être lié aux données. Le deuxième paramètre est la source de données sont la liaison et le dernier paramètre est la propriété de la source de données que vous souhaitez lier.

Gardez à l'esprit que la liaison de données est une manière de sorte que si vous modifiez la zone d'édition, puis la voiture de l'objet est mise à jour, mais si vous changez le nom de voiture directement de la boîte d'édition n'est pas mis à jour.

3voto

TcKs Points 13249

Essayer:

 editBox.DataBinding.Add( "Text", car", "Name" );
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X