コード例 #1
0
ファイル: PostsPage.xaml.cs プロジェクト: borewicz/gplus
        /// <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)
        {
            Posts.PostStream posts     = new Posts.PostStream();
            string           parameter = e.NavigationParameter as string;

            if (parameter.Contains(":"))
            {
                string id = (e.NavigationParameter as string).Split(':')[1];

                if (parameter.Split(':')[0] == "SQUARE")
                {
                    posts = await Posts.GetActivities(null, null, parameter.Split(':')[1], null);
                }
                else if (parameter.Split(':')[0] == "USER")
                {
                    posts = await Posts.GetActivities(parameter.Split(':')[1], null, null, null);
                }
            }
            else
            {
                posts = await Posts.GetActivities(null, parameter, null, null);
            }
            this.DefaultViewModel["Items"] = posts.posts;
            // TODO: Assign a bindable group to this.DefaultViewModel["Group"]
            // TODO: Assign a collection of bindable items to this.DefaultViewModel["Items"]
        }
コード例 #2
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)
        {
            // TODO: Create an appropriate data model for your problem domain to replace the sample data.
            posts = new Posts.PostStream();
            string parameter = e.NavigationParameter as string;

            if (parameter != null && parameter.Contains(":"))
            {
                //string id = (e.NavigationParameter as string).Split(':')[1];
                var param = parameter.Split(':');
                if (param[0] == "SQUARE")
                {
                    if (param.Length > 2)
                    {
                        posts = await Posts.GetActivities(null, null, parameter.Split(':')[1], parameter.Split(':')[2]);
                    }
                    else
                    {
                        posts = await Posts.GetActivities(null, null, parameter.Split(':')[1], null);
                    }
                }
                else if (param[0] == "USER")
                {
                    posts = await Posts.GetActivities(parameter.Split(':')[1], null, null, null);
                }
                else if (param[0] == "SEARCH")
                {
                    posts = await Posts.QueryPost(param[2], param[1]);
                }
            }
            else
            {
                posts = await Posts.GetActivities(null, parameter, null, null);
            }
            this.DefaultViewModel["Items"] = posts.posts;
        }