如何从字典值中获取ObservableCollection

tzi*_*ppy 1 .net c# dictionary

我有一个ObservableCollection<MyClass> myCollection和一个Dictionary<int, MyClass> myDictionary.

我将如何复制所有的类的值MyClassDictionaryObservableCollection?不幸的是,这不起作用(不能隐式转换类型...):

myDictionary = myCollection.Values
Run Code Online (Sandbox Code Playgroud)

我希望找到一个性能比以下更好的解决方案:

       for (int i = 0; i < myDicitonary.Values.Count; i++ )
            myCollection.Add(myDicationary.Values.ElementAt(i));
Run Code Online (Sandbox Code Playgroud)

And*_*tar 7

可以从IEnumerable创建可观察集合.

myCollection = new ObservableCollection<MyClass>(myDictionary.Values)
Run Code Online (Sandbox Code Playgroud)

如果您已经创建了集合并且不想创建新集合,则必须通过myDictionary.Values迭代并手动添加observable集合中的每个值.请注意,这将在每次单独添加后触发集合已更改事件.