Je suis un peu nouveau à l'idée de liaisons en C#. J'ai actuellement une application utilisant MVVM sur laquelle je travaille. Dire que j'ai, par exemple, une liste comme ceci:Mettre à jour la source de données du contrôle
List<string> Items = new List<string>()
{
"Item1",
"Item2",
"Item3",
}
Bound à cette liste sont trois zones de texte comme ceci:
Dans le XAML:
<TextBox Name="TextBox1" text="{Binding TextSource1 Mode=TwoWay}">
<TextBox Name="TextBox2" text="{Binding TextSource2 Mode=TwoWay}">
<TextBox Name="TextBox3" text="{Binding TextSource3 Mpde=TwoWay}">
Et dans le code:
Public string TextSource1
{
get { return Items[0]; }
set { Items[0] = value; }
}
Public string TextSource2
{
get { return Items[1]; }
set { Items[1] = value; }
}
Public string TextSource3
{
get { return Items[2]; }
set { Items[2] = value; }
}
Dites que la valeur affichée dans la première zone de texte est actuellement "Item1" comme dans la liste. De là, l'utilisateur le change en "Item4". Comment pourrais-je mettre à jour la liste de cela? Est-ce qu'il se met automatiquement à jour s'il est réglé sur TwoWay?
Je sais que dans le code si je devais changer une valeur dans la liste, dites:
Items[2] = "Item4";
je peux mettre à jour la zone de texte en appelant
RaisePropertyChanged("TextSource3");
Mais ce n'est pas d'un grand secours moi en ce moment.
Désolé, mais quelle est la question? – Bolu
@Bolu Avez-vous lu le tout? J'ai demandé: "Dites que la valeur affichée dans la première zone de texte est actuellement" Item1 "telle qu'elle est dans la liste.A partir de là, l'utilisateur la change en" Item4 ".Comment pourrais-je mettre à jour la liste de cela? Met-il automatiquement à jour s'il est réglé sur TwoWay? " – DanteTheEgregore
Vous devez augmenter votre événement" RaisePropertyChanged "dans votre jeu de propriétés –