コード例 #1
0
        /// <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);
                }
            }
        }
コード例 #2
0
        /// <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;
                }
            }
        }
コード例 #3
0
ファイル: HubPage.xaml.cs プロジェクト: freemsly/Recommender
        /// <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;
            }
        }
コード例 #4
0
        /// <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;
            }
        }
コード例 #5
0
        /// <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;
            }
        }