Dans l'application WPF J'utilise requête LINQ pour obtenir des valeurs de ObservableCollection et mettre à jour l'état de certains objets:boucle Foreach par ObservableCollection
var shava = from clc in _ShAvaQuCollection where clc.xyID == "x02y02" select clc;
switch (shava.First().Status)
{
case 1:
x02y02.Status = MyCustControl.Status.First;
break;
case 2:
x02y02.Status = MyCustControl.Status.Second;
break;
...
}
En fait, xyID
est unique sur le terrain dans cette ObservableCollection et sa valeur de chaîne correspond à noms des objets en XAML (ces objets sont dérivés d'un contrôle client MyCustControl
).
Ce que je suis en train de faire est:
(1) à itérer tous les enregistrements dans _ShAvaQuCollection
et, à l'aide de champ xyID
, référence chaque objet particulier, à l'aide shava
à la suite de la requête à chacun des enregistrer:
MyCustControl sc = (MyCustControl)this.FindName(shava.First().xyID);
(2) et mettre à jour l'état de l'objet, à l'aide d'autres valeurs de cet enregistrement, par exemple:
switch (shava.First().Status)
{
case 1:
sc.Status = MyCustControl.Status.First;
break;
case 2:
sc.Status = MyCustControl.Status.Second;
break;
...
}
Toutes ces actions fonctionnent en dehors bien, mais je ne peux pas le combiner à une méthode itération de travail, quelque chose comme ça (il est une idée que, parce que je ne l'ai pas réussi à obtenir un code compyleable):
public void ReadingCollection(System.Collections.Generic.IEnumerable<ShowAvaQu> coll)
{
foreach (var xyid in coll)
{
//do my actions (1) and (2)
}
}
S'il vous plaît, aidez-moi à organiser une telle itération dans ce dernier morceau de code à l'intérieur de la boucle foreach. J'éprouve des problèmes avec comprendre comment faire une requête à chaque enregistrement particulier de la collection à l'intérieur de la boucle.
J'ai décrit tout ce qui précède juste pour clarifier ce que j'ai l'intention de faire avec les résultats d'une telle requête à l'intérieur de cette boucle.
Quelle erreur obtenez-vous? –
Désolé, peut-être que je n'ai pas formulé très coorectement mon problème. En fait, ce code compile bien. Je rencontre des problèmes avec chaque enregistrement particulier dans la boucle. Merci, je vais maintenant corriger ma question. – rem