private async Task UpdateSections()
        {
            if (LandingPageLinks == null)
            {
                using (var jsonStream = await StreamHelper.GetPackagedFileStreamAsync("landingPageLinks.json"))
                {
                    var jsonString = await jsonStream.ReadTextAsync();

                    var links          = JsonConvert.DeserializeObject <LandingPageLinks>(jsonString);
                    var packageVersion = Package.Current.Id.Version;

                    var resource = links.Resources.FirstOrDefault(item => item.ID == "app");
                    if (resource != null)
                    {
                        resource.Links[0].Title = $"Version {packageVersion.Major}.{packageVersion.Minor}.{packageVersion.Build}";
                    }

                    LandingPageLinks = links;
                }

                var samples = new List <Sample>();

                foreach (var newSample in LandingPageLinks.NewSamples)
                {
                    var sample = await Samples.GetSampleByName(newSample);

                    if (sample != null)
                    {
                        samples.Add(sample);
                    }
                }

                NewSamples = samples;
            }
        }
Beispiel #2
0
        private async Task UpdateSections()
        {
            if (LandingPageLinks == null)
            {
                using (var jsonStream = await StreamHelper.GetPackagedFileStreamAsync("landingPageLinks.json"))
                {
                    var jsonString = await jsonStream.ReadTextAsync();

                    LandingPageLinks = JsonConvert.DeserializeObject <LandingPageLinks>(jsonString);
                }

                var patterns = new List <Pattern>();

                foreach (var newPattern in LandingPageLinks.NewPatterns)
                {
                    var pattern = await Patterns.GetPatternByName(newPattern);

                    if (pattern != null)
                    {
                        patterns.Add(pattern);
                    }
                }

                NewPatterns = patterns;
            }

            foreach (var section in LandingPageLinks.Resources.Reverse())
            {
                var stackPanel = new StackPanel()
                {
                    MinWidth = 267,
                    Margin   = new Thickness(0, 0, 0, 48)
                };

                stackPanel.Children.Add(
                    new TextBlock()
                {
                    FontSize   = 20,
                    FontFamily = new Windows.UI.Xaml.Media.FontFamily("Segoe UI"),
                    Text       = section.Title
                });

                stackPanel.Children.Add(
                    new ItemsControl()
                {
                    Margin       = new Thickness(0, 16, 0, 0),
                    ItemsSource  = section.Links,
                    ItemTemplate = Resources["LinkTemplate"] as DataTemplate
                });

                ResourcesSection.Items.Insert(0, stackPanel);
            }
        }