2012-08-16 14 views
0

我已閱讀過一些主題/問題/谷歌結果,但仍不知道如何解決我的問題。在列表框中加載更多項目

在我的情況下,我使用json,我所做的是將JSON反序列化爲對象。然後使用ListboxName.ItemsSource將它們綁定到列表框。

的問題是,我的服務器給我只有20個頂級效果,而且我收到一個鏈接到下一個20

從理論上講,我想這個鏈接LoadMore按鈕,我會放在句末綁定的名單。那又怎麼樣?將新結果合併到現有的ObservableCollection中? (我認爲我必須使用的ObservableCollection)

回答

1

在XAML綁定到它創建

ObservableCollection<Items> Items {get;set;} 

然後和項目添加到該集合。它會通知列表框來更新視圖。

XAML

<ListBox x:Name="ListboxName" ItemsSource="{Binding Items}"/> 

在cs文件:

//After you have parsed json 
private void OnNewDataDownloaded(List<Items> parsedItems) 
{ 
    foreach(var item in parsedItems) 
    { 
     Items.Add(item); 
    } 

} 

Here你可以找到一個優雅的方式來添加LoadMore按鈕

+0

謝謝,這看起來既乾淨又不錯,但我有問題JSON。我的意思是,我將它反序列化爲對象,所以我在foreach語句中遇到了GetEnumerator錯誤。我想我必須改變我的類中的水平,我將JSON反序列化成...你知道我該如何處理它嗎? – dargod 2012-08-16 13:32:58

+0

你從json的反序列化中得到了什麼類型的集合?數組?一個列表?或者你一個一個得到物品? – 2012-08-16 14:06:32

+0

我找到了將其保存在ObservableCollection中的方法: string commentsjsonstring = e.Result.ToString(); var parsedItems = JsonConvert.DeserializeObject (commentsjsonstring); CommentItems = new ObservableCollection ();對於(int i = 0; i dargod 2012-08-16 14:43:37

相關問題