2015-12-10 4 views
0

J'essaie d'utiliser l'exemple ObservableConcurrentDictionary de MS, mais j'ai rencontré un problème complètement inattendu.Où est INotifyCollectionChanged?

L'interface INotifyCollectionChanged est introuvable dans l'espace de noms System.Collections.Specialized. Le projet est WinForms, et j'ai essayé de cibler .NET 3.5 et 3.5 Profil client en vain, malgré MSDN disant qu'il est pris en charge. Il n'y a rien trouvé dans les assemblées qui contient des Colections, donc je suppose que je ne manque pas de références non plus. La recherche Google n'était pas concluante, apparemment je suis le seul dans le monde entier à avoir un tel problème.

Juste ce qui ne va pas avec cette chose?

Voici une capture d'écran. Notez comment System.Collections.Specialized est marqué comme inutilisé.

+0

Ils ne sont pas construits en types, alors pouvez-vous dire où vous avez téléchargé le code? –

Répondre

2

Dans .NET 3.5, INotifyCollectionChanged a été réalisée dans le cadre de WindowsBase.dll. Seulement dans. NET 4.0 a été déplacé vers le noyau System.dll. Vous devrez ajouter une référence à WindowsBase pour y accéder.

Cependant, je ne suis pas au courant de l'INotifyPropertyChanged/INotifyCollectionChanged étant pertinent pour WinForms - ils sont un élément central de l'expérience WPF Binding MVVM. Êtes-vous sûr qu'ils sont l'outil que vous voulez utiliser?

+0

Wow. Je n'aurais jamais pensé y regarder de tous les endroits ... Pour ce faire, je veux un dictionnaire observable, et toutes les implémentations que j'ai vues utilisent cette interface. – Vindicar