private void LoadSource() { var sourcesLoader = App.Container.Resolve <ISourcesLoader>(); var sources = sourcesLoader.Load().ToList(); var parser = App.Container.Resolve <IAsketParser>(); pagesDict = new Dictionary <string[], AsketPageView>(); pagesModels = new List <AsketPage>(); foreach (var source in sources) { var model = parser.Parse(source); pagesModels.Add(model); var page = new AsketPageView(model, OnNavigatingTo); pagesDict.Add(source, page); } foreach (var page in pagesDict.Values) { page.AllPages = pagesDict.Values.ToList(); } if (IsCyclic()) { CyclicLabel.Content = "Cyclic"; CyclicLabel.Foreground = Brushes.LimeGreen; } else { CyclicLabel.Content = "Not Cyclic"; CyclicLabel.Foreground = Brushes.Red; } var firstPage = pagesDict.First(); ContentFrame.Content = firstPage.Value; MarkupLabel.Text = string.Join(Environment.NewLine, firstPage.Key); }
private void OnNavigatingTo(AsketPageView nextPage) { MarkupLabel.Text = string.Join(Environment.NewLine, pagesDict.First(x => x.Value.Equals(nextPage)).Key); }