protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.Parameter is Func <LoadMoreItemsAsyncFuncConfig, Task <ICollection <Models.Entity> > > method) { entities = new IncrementalLoadingEntityCollection <Models.Entity>(method); listView = listView ?? new ListView(); listView.ItemsSource = entities; listView.HorizontalAlignment = HorizontalAlignment.Stretch; listView.VerticalAlignment = VerticalAlignment.Stretch; Content = listView; } }
public void OnPiovtSelect(string piovt = "主页") { // default "主页" Func <LoadMoreItemsAsyncFuncConfig, Task <ICollection <Entity> > > func = async(config) => { if (config.Page != 1) { return(new Collection <Entity>()); } // 如果不是第一页 让它以为这是空的 return(this.Data?.HomeTabCardRows ?? new Collection <Entity>()); }; switch (piovt) { case "动态": func = async(config) => { return((await this.CoolapkApis.GetUserFeedList(this.Data.Uid, config.Page, config.LastItem)).Data); }; break; case "点评": func = async(config) => { return((await this.CoolapkApis.GetDataList($"/feed/nodeRatingList?targetType=all&parseRatingToFeed=1&uid={this.Data.Uid}", "", config.Page, config.LastItem)).Data); }; break; case "图文": func = async(config) => { return((await this.CoolapkApis.GetUserHtmlFeedList(this.Data.Uid, config.Page, config.LastItem)).Data); }; break; case "问答": func = async(config) => { return((await this.CoolapkApis.GetUserHtmlFeedList(this.Data.Uid, config.Page, config.LastItem)).Data); }; break; case "酷图": func = async(config) => { return((await this.CoolapkApis.GetDataList($"/feed/userCoolPictureFeedList?fragmentTemplate=flex&uid={this.Data.Uid}", "", config.Page, config.LastItem)).Data); }; break; case "好物": func = async(config) => { return((await this.CoolapkApis.GetDataList($"/goods/goodsFeedList?type=default&fragmentTemplate=flex&uid={this.Data.Uid}", "", config.Page, config.LastItem)).Data); }; break; case "好物单": func = async(config) => { return((await this.CoolapkApis.GetUserGoodsList(this.Data.Uid, config.Page)).Data); }; break; case "收藏单": func = async(config) => { return((await this.CoolapkApis.GetUserCollections(this.Data.Uid, config.Page)).Data); }; break; } Entities = new IncrementalLoadingEntityCollection <Entity>(func); NotifyChanged("Entities"); }