我有一个“构造良好”的ObservableCollection,我想检查它。 它的定义是:
private Dictionary<string, ObservableCollection<DependencyObject>> _DataPools = new Dictionary<string, ObservableCollection<DependencyObject>>();
(是的,它是一个带有obsCol的obsCol,但它没关系,问题不在这里)
我尝试了两种不同的方式,但它们都不起作用......
1).Items
foreach(ObservableCollection<DependencyObject> obj in _DataPools.Items)
{
blablaaaa;
....
}
.Items不起作用但是当我查看C#doc时,Items是一个有效的字段......(就像“Count”和“Count”一样......)
2)计数+ [x]访问:
var nbItems = _DataPools.Count;
for (int i = 0; i < nbItems; i++)
{
Console.WriteLine("Items : " + _DataPools[i].XXX); //XXX = ranom method
}
_DataPools [i]不起作用,但在网上我发现了一些使用它的例子oO
我尝试了其他一些“异国情调”的东西,但我真的不能过去......
欢迎任何帮助!
提前thx并为我的语言sry,im french -_- (也为我的总统sry!)
答案 0 :(得分:1)
_DataPools
是字典,而不是ObservableCollection
您需要循环.Values
。
答案 1 :(得分:0)
_DataPool
不是可观察集合中的可观察集合。它是一个包含可观察集合的字典。要从字典中获取集合,请使用the Values
property:
foreach (ObservableCollection<DependencyObject> obj in _DataPools.Values)
{
// some code
}
答案 2 :(得分:0)
_DataPools是Dictionary类型。您可以使用Values
属性访问字典的元素。
foreach(ObservableCollection<DependencyObject> obj in _DataPools.Values)
答案 3 :(得分:0)
您正在使用词典,因此您应该使用属性键循环键和值来循环您的项目。这应该有效:
foreach(ObservableCollection<DependencyObject> obj in _DataPools.Values)
{
blablaaaa;
....
}