protected override void OnNavigatedTo(NavigationEventArgs e) { this.selectedGroup = (Application.Current as App).selectedGroup; base.OnNavigatedTo(e); }
private void GetGroupsResponse(IAsyncResult result) { HttpWebRequest request = result.AsyncState as HttpWebRequest; if (request != null) { try { WebResponse response = request.EndGetResponse(result); Stream outStream = response.GetResponseStream(); StreamReader reader = new StreamReader(outStream); string xmlResult = reader.ReadToEnd(); XDocument xdoc = XDocument.Parse(xmlResult); IEnumerable<XElement> items = xdoc.Descendants("item"); foreach (XElement item in items) { String groupName = item.Element("name").Value; String city = item.Element("city").Value; XElement descriptionNode = item.Element("description"); HtmlAgilityPack.HtmlDocument descriptionHtml = new HtmlAgilityPack.HtmlDocument(); descriptionHtml.LoadHtml(descriptionNode.Value); while (descriptionHtml.DocumentNode.SelectSingleNode("p/img") != null) { descriptionHtml.DocumentNode.SelectSingleNode("p/img").Remove(); } while (descriptionHtml.DocumentNode.SelectSingleNode("p/a") != null) { descriptionHtml.DocumentNode.SelectSingleNode("p/a").Remove(); } String description = RemoveHtmlTags(descriptionHtml.DocumentNode.OuterHtml); String link = item.Element("link").Value; long count = long.Parse(item.Element("members").Value); String country = item.Element("country").Value.ToString(); String logoUrl = item.Element("group_photo") != null? item.Element("group_photo").Element("thumb_link").Value : ""; Group newGroup = new Group(groupName, city); newGroup.description = description; newGroup.uri = link; newGroup.memberCount = count; newGroup.country = country; newGroup.logoUri = logoUrl; panoramaGroups.Add(newGroup); } Dispatcher.BeginInvoke(() => { DispatchGroupInfo(); }); (Application.Current as App).panoramaGroups = this.panoramaGroups; } catch (WebException e) { return ; } } }