【发布时间】:2018-07-23 15:21:27
【问题描述】:
我正在使用 uwp 社区工具包的增量加载集合。我更改了 PeopleSource 类,代码如下。
namespace Test
{
public class TuchongSource : IIncrementalSource<TuchongImageMine>
{
private ObservableCollection<TuchongImageMine> _mine;
public TuchongSource()
{
(Application.Current as App).bRefresh = true;
_mine = new ObservableCollection<TuchongImageMine>();
GetFirstData();
}
public async Task<IEnumerable<TuchongImageMine>> GetPagedItemsAsync(int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken))
{
IEnumerable<TuchongImageMine> result = null;
(Application.Current as App).currentPage++;
ObservableCollection<TuchongImageMine> MineItems = new ObservableCollection<TuchongImageMine>();
string url = "";
if ((Application.Current as App).bRefresh)
url = "https://api.tuchong.com/feed-app";
else
url = "https://api.tuchong.com/feed-app?post_id=" + (Application.Current as App).lastPostId + "&page=" + (Application.Current as App).currentPage.ToString() + "&type=loadmore";
MineItems = await TuchongHelper.GetTuchongImage(url);
foreach (var item in MineItems)
{
if ((Application.Current as App).toShowItems.Contains(item))
continue;
(Application.Current as App).toShowItems.Add(item);
_mine.Add(item);
await Task.Delay(50);
}
(Application.Current as App).lastPostId = MineItems[MineItems.Count - 1].post_id;
(Application.Current as App).bRefresh = false;
result = (Application.Current as App).toShowItems.AsEnumerable<TuchongImageMine>();
return result;
}
private async Task GetFirstData()
{
string url = "https://api.tuchong.com/feed-app";
_mine = await TuchongHelper.GetTuchongImage(url);
(Application.Current as App).lastPostId = _mine[_mine.Count - 1].post_id;
}
}
}
在 MainPage.xaml.cs 中,我使用
var ss = new IncrementalLoadingCollection<TuchongSource, TuchongImageMine>();
gridView.ItemsSource = ss;
但我的 GridView 中没有显示任何内容。我想知道为什么。
如果你想看更多,这里是我的项目https://github.com/hupo376787/IncrementalLoadingCollection.git
【问题讨论】:
标签: uwp windows-community-toolkit