2013-06-21 123 views
0

我有一個集合,它的設置如下。列表中的ObservableCollection <Image>的列表在循環時出現null

ObservableCollection<ObservableCollection<Image>> _Documents_CompleteClaims= new ObservableCollection<ObservableCollection<Image>>(); 

而且我加入了收集到的名單如下:

this._Documents_CompleteClaims.Add(this._Documents_NewClaimList); 

當我試圖通過收集循環,它顯示了空。該集合有一個對象:

但收集計數顯示爲0。

我用同樣的方法而回,但列表,而不是的ObservableCollection。它以前工作得很好。任何想法爲什麼觀察收藏不起作用?或者我只是忽略了一些愚蠢的東西?

所以我誤診了這個問題。問題是集合中的集合沒有項目。

這是我是如何加入集合集合列表:

this._Documents_CompleteClaims.Add(this._Documents_NewClaimList); //Add claim to completed list 
this._Documents_NewClaimList.Clear(); //Clear out the claim list so we can start a new claim 

我證實,_Documents_NewClaimList收集了項目。我想我可以將該集合添加到集合中,然後清除集合。但是,如果我將它註釋掉.Clear()行,它就可以正常工作。所以我想我需要以不同的方式刪除這些項目。也許我可以將項目添加到臨時集合,將該臨時集合添加到集合集合,然後清除舊集合。

+1

您發佈的代碼應該有效。你能發表一個小的,但完整的示例代碼來證明你的問題嗎? – svick

+1

您正在查看2個不同集合的屬性。第一個是_Documents_CompleteClaims,下一個是它包含的集合。你沒有向你展示任何東西。您正在將一個空集合添加到一組集合中。無處顯示添加一個實際的圖像this._Documents_NewClaimList –

+0

@BrianRudolph布賴恩,當我將集合添加到集合,它不是空的。它有物品。我不知道爲什麼這些物品沒有留在兒童收藏中。我會更新我的帖子,我將如何添加它們。 – ernest

回答

1

你發佈的內容沒有什麼特別的錯誤。你做不是遇到null,那是錯誤的診斷。你有一個集合的集合,它包含一個項目。這是一個空的集合。我不懷疑這是一個錯誤,但它不是你發佈的代碼中的錯誤。

最好關注應該將Image對象添加到該空集合的代碼。

+0

是的。集合中的集合沒有項目。這很奇怪,因爲我經歷過它,並且在將項目添加到主要收藏之前已經有了項目。必須有其他事情正在進行。 – ernest

+0

我會接受這個答案。最終,在將集合添加到集合集合後,在我的集合上調用.Clear()引發了這個問題。我通過在清理之前將項目添加到臨時清單然後將該臨時清單添加到收集集合來解決它。 – ernest