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);
 }