2009-08-18 9 views
4

J'ai deux collections observables que je dois fusionner en une seule collection. Cela se produit parce que j'ai deux méthodes, getTasks (staffID) qui renvoie un ObservableCollection et getTasks (teamID) qui sélectionne le personnel et retire les tâches de personnel.Fusion de deux collections Observable

Pour les équipes, je vais avoir plusieurs petites observableCollections, je veux juste les fusionner.

+0

« Je veux juste les _merge_ "- cela signifie-t-il que vous devez prendre soin des doublons? Ou est-ce qu'une simple concaténation suffit? Voir http://msdn.microsoft.com/en-us/library/bb302894.aspx – VolkerK

+0

Je n'étais pas concerné par les doublons. Cependant, j'ai suivi le chemin de Union <> qui est similaire mais qui prévoit d'autres caractéristiques de conception; il y a un système de tâches partagé. Merci. – DavidA

Répondre

5

J'ai trouvé une référence à CompositeCollection sur un autre SO article: Merged ObservableCollection

Puisque vous cherchez à faire un Concat/Union, cela semble faire exactement cela. Dommage que ce ne soit pas fortement typé.

5

C'est ce qui a fonctionné pour moi:

Concat ou Union, mais le résultat est un IEnumerable, donc il doit être reconverti en un ObservableCollection:

var result = new ObservableCollection<T>(list1.Concat(list2));