2015-04-22 159 views
0

我有一個ObservableCollection<MyClass> myCollection和一個Dictionary<int, MyClass> myDictionary如何從字典值中獲取ObservableCollection

如何將MyClass類的所有值從Dictionary複製到ObservableCollection? 不幸的是,這將不起作用(無法隱式轉換類型...):

myDictionary = myCollection.Values 

而我希望的是將執行比一個解決方案:

 for (int i = 0; i < myDicitonary.Values.Count; i++) 
      myCollection.Add(myDicationary.Values.ElementAt(i)); 
+0

從Dictionary To ObservableCollection?你的代碼示例試圖以相反的方式做到這一點(從收集到字典)。你有問題嗎? – Marco

+0

它看起來像你想要的另一種方式,從集合到字典。 –

+0

感謝你們兩位,只是改變了! – tzippy

回答

5

可以創建觀察集合來自IEnumerable。

myCollection = new ObservableCollection<MyClass>(myDictionary.Values) 

如果你已經創建的集合,並且不希望創建一個新的,你必須遍歷槽myDictionary.Values和人工觀察集合中添加的每個值。請注意,這將在每次單獨添加後觸發收集已更改的事件。

+0

謝謝!偉大的解決方案,特別是因爲我不想觸發每個Add()'更改的事件 – tzippy