Example #1
0
        private async void IllustBrowserDialogHost_OnDialogOpened(object sender, DialogOpenedEventArgs e)
        {
            var context = sender.GetDataContext <Illustration>();

            var list = new ObservableCollection <TransitionerSlide>();

            var template = new IllustTransitioner(list);

            IllustBrowserContainer.Children.Insert(1, template);

            if (context.IsManga)
            {
                if (context.MangaMetadata.IsNullOrEmpty())
                {
                    context = await PixivHelper.IllustrationInfo(context.Id);
                }

                var tasks = await Tasks <Illustration, (BitmapImage image, Illustration illust)> .Of(context.MangaMetadata)
                            .Mapping(illustration => Task.Run(async() => (await PixivEx.FromUrl(illustration.Large), illustration)))
                            .Construct()
                            .WhenAll();

                list.AddRange(tasks.Select(i => InitTransitionerSlide(i.image, i.illust)));
            }
            else
            {
                list.Add(InitTransitionerSlide(await PixivEx.FromUrl(context.Large), context));
            }
        }
Example #2
0
        private async void IllustBrowserDialogHost_OnDialogOpened(object sender, DialogOpenedEventArgs e)
        {
            var context = sender.GetDataContext <Illustration>();

            var list = new ObservableCollection <TransitionerSlide>();

            var template = new IllustTransitioner(list);

            IllustBrowserContainer.Children.Insert(1, template);

            if (context.IsManga)
            {
                if (context.MangaMetadata.IsNullOrEmpty())
                {
                    context = await PixivHelper.IllustrationInfo(context.Id);
                }
                list.AddRange(context.MangaMetadata.Select(InitTransitionerSlide));
            }
            else
            {
                list.Add(InitTransitionerSlide(context));
            }
        }