private void InitializeTagList(string page) { string tagUri = StackApi.CreateRequestUri("tags", new Dictionary <string, string> { { "site", this.DisplaySite.ApiSiteParameter }, { "pagesize", "20" }, { "page", page } }); TagResponse response = StackApi.FireCacheableRequest <TagResponse>(tagUri, 1800); string[] tagNames = response.Tags.Select(x => x.Name).ToArray(); string apiTagString = string.Join(";", tagNames); string wikiUri = StackApi.CreateRequestUri("tags/{apiTagString}/wikis", new Dictionary <string, string> { { "site", this.DisplaySite.ApiSiteParameter }, { "apiTagString", apiTagString } }); TagWikiResponse wikiResponse = StackApi.FireCacheableRequest <TagWikiResponse>(wikiUri, 86400); foreach (Tag tag in response.Tags) { TagWiki wiki; try { wiki = wikiResponse.TagWikis.First(x => x.TagName == tag.Name); } catch (InvalidOperationException) { wiki = new TagWiki(); } UserControl tagElement = new TagPartial(tag, wiki, this.DisplaySite, this.parentFrame); this.TagsPanel.Children.Add(tagElement); } }
public TagPartial(Tag displayTag, TagWiki wiki, Site parentSite, SiteBase frame) { InitializeComponent(); this.DisplayTag = displayTag; this.Wiki = wiki; this.ParentSite = parentSite; this.parentFrame = frame; this.Loaded += TagPartial_Loaded; }