Example #1
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            var f = FeedListDataProvider.GetProvider(FeedListType.UserPageList, await NetworkHelper.GetUserIDByName(uid.Text));

            if (f != null)
            {
                UIHelper.Navigate(typeof(FeedListPage), f);
            }
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            provider             = e.Parameter as FeedListDataProvider;
            listView.ItemsSource = provider.itemCollection;
            switch (provider.ListType)
            {
            case FeedListType.UserPageList:
                titleBar.ComboBoxVisibility = Visibility.Collapsed;
                break;

            case FeedListType.TagPageList:
                titleBar.ComboBoxVisibility    = Visibility.Visible;
                titleBar.ComboBoxItemsSource   = new string[] { "最近回复", "按时间排序", "按热度排序" };
                titleBar.ComboBoxSelectedIndex = (provider as ICanChangeSelectedIndex).SelectedIndex;
                break;

            case FeedListType.DyhPageList:
                titleBar.ComboBoxVisibility  = Visibility.Collapsed;
                titleBar.ComboBoxItemsSource = new string[] { "精选", "广场" };
                break;
            }
            Refresh();

            if (VScrollViewer is null)
            {
                Task.Run(async() =>
                {
                    await Task.Delay(300);
                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                    {
                        VScrollViewer              = VisualTree.FindDescendantByName(listView, "ScrollViewer") as ScrollViewer;
                        VScrollViewer.ViewChanged += async(s, ee) =>
                        {
                            if (!ee.IsIntermediate && VScrollViewer.VerticalOffset == VScrollViewer.ScrollableHeight)
                            {
                                UIHelper.ShowProgressBar();
                                await provider.LoadNextPage();
                                UIHelper.HideProgressBar();
                            }
                        };
                    });
                });
            }
        }