/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { String para = (String)e.NavigationParameter; if (!String.IsNullOrWhiteSpace(para)) { var group = await ReTopicsDataSource.GetGroupAsync((String)e.NavigationParameter); this.DefaultViewModel["Group"] = group; this.DefaultViewModel["Items"] = group.Items; } if (e.PageState == null) { this.itemListView.SelectedItem = null; // When this is a new page, select the first item automatically unless logical page // navigation is being used (see the logical page navigation #region below.) if (this.itemsViewSource.View != null) { this.itemsViewSource.View.MoveCurrentToFirst(); } } else { // Restore the previously saved state associated with this page if (e.PageState.ContainsKey("SelectedItem") && this.itemsViewSource.View != null) { var selectedItem = await ReTopicsDataSource.GetContentsAsync((String)e.PageState["SelectedItem"]); this.itemsViewSource.View.MoveCurrentTo(selectedItem); } } }
/// <summary> /// Invoked when an item within the list is selected. /// </summary> /// <param name="sender">The GridView displaying the selected item.</param> /// <param name="e">Event data that describes how the selection was changed.</param> private async void ItemListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { // Invalidate the view state when logical page navigation is in effect, as a change // in selection may cause a corresponding change in the current logical page. When // an item is selected this has the effect of changing from displaying the item list // to showing the selected item's details. When the selection is cleared this has the // opposite effect. if (this.UsingLogicalPageNavigation()) { this.InvalidateVisualState(); } //var itemId = ((ReDataItem)send).UniqueId; //var contents = await ReTopicsDataSource.GetContentsAsync(); //this.DefaultViewModel["SelectedContents"] = var listView = (ListView)sender; var seletedItem = (ReDataItem)listView.SelectedItem; if (seletedItem != null) { var seletedId = seletedItem.UniqueId; if (!String.IsNullOrWhiteSpace(seletedId)) { var contents = await ReTopicsDataSource.GetContentsAsync(seletedId); this.DefaultViewModel["SelectedContents"] = contents.Items; } } }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { //// TODO: Create an appropriate data model for your problem domain to replace the sample data //var sampleDataGroups = await SampleDataSource.GetGroupsAsync(); //this.DefaultViewModel["Groups"] = sampleDataGroups; var rePopularGroup = await RePopularDataSource.GetGroupAsync("Poster"); if (rePopularGroup != null) { this.DefaultViewModel["PosterItems"] = rePopularGroup; } var reDataGroup = await ReDataSource.GetGroupAsync("Guess"); if (reDataGroup == null) { Helpers.InternetFailureAlarm(); } else { this.DefaultViewModel["GuessItems"] = reDataGroup; } var reCategoryGroup = await ReTopicsDataSource.GetGroupsAsync(); if (reCategoryGroup == null) { Helpers.InternetFailureAlarm(); } else { this.DefaultViewModel["CategoryItems"] = reCategoryGroup; } }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e) { var reDataGroup = await ReTopicsDataSource.GetGroupsAsync(); if (reDataGroup == null) { Helpers.InternetFailureAlarm(); } else { this.DefaultViewModel["Items"] = reDataGroup; } }
/// <summary> /// Invoked when an item within the list is selected. /// </summary> /// <param name="sender">The GridView displaying the selected item.</param> /// <param name="e">Event data that describes how the selection was changed.</param> private async void ItemListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { //var itemId = ((ReDataItem)send).UniqueId; //var contents = await ReTopicsDataSource.GetContentsAsync(); //this.DefaultViewModel["SelectedContents"] = var listView = (ListView)sender; var seletedItem = (ReDataItem)listView.SelectedItem; if (seletedItem != null) { var seletedId = seletedItem.UniqueId; if (!String.IsNullOrWhiteSpace(seletedId)) { var contents = await ReTopicsDataSource.GetContentsAsync(seletedId); this.DefaultViewModel["SelectedContents"] = contents.Items; } CategoryPivot.SelectedIndex = 1; } }