/// <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"] }
/// <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; }