private async void btBack_Click(object sender, RoutedEventArgs e)
        {
            if (page == 2)
            {
                btBack.IsEnabled = false;
            }

            page--;

            RequestParameters.publicAuUri = RequestParameters.defaulUri + "?client_id=" + RequestParameters.client_id + "&page=" + page + "&per_page=30";

            listNewImage = await publicAuthorization.Authorization();

            await Task.Delay(300);

            while (listNewImage.Count == 0)
            {
                await Task.Delay(10);

                listNewImage = await publicAuthorization.Authorization();
            }


            double totalWidth = 0;
            int    start      = 0;

            this.ViewModel = new MainPanePhotoViewModel();

            while (grvStart.ActualWidth == 0)
            {
                await Task.Delay(10);
            }

            for (int i = 0; i < ViewModel.NewImages.Count; i++)
            {
                var width = ViewModel.NewImages[i].width * 310 / ViewModel.NewImages[i].height;
                totalWidth += width;

                if (totalWidth > grvStart.ActualWidth)
                {
                    for (int j = start; j < i; j++)
                    {
                        ViewModel.NewImages[j].Scale = grvStart.ActualWidth / (totalWidth - width);
                    }
                    start      = i;
                    totalWidth = width;
                }
            }

            for (int j = start; j < ViewModel.NewImages.Count; j++)
            {
                ViewModel.NewImages[j].Scale = grvStart.ActualWidth / (totalWidth);
            }


            grvStart.ItemsSource          = ViewModel.NewImages;
            RequestParameters.publicAuUri = "";
        }
示例#2
0
        private async void pvHome_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (pvHome.SelectedIndex == 1)
            {
                if (listPopularImage.Count == 0)
                {
                    PublicAuthorization publicAuthorization = new PublicAuthorization();
                    listPopularImage = await publicAuthorization.GetPopularImages();

                    while (listNewImage.Count == 0)
                    {
                        await Task.Delay(10);

                        listPopularImage = await publicAuthorization.GetPopularImages();
                    }

                    double totalWidth = 0;
                    int    start      = 0;

                    this.ViewModel = new MainPanePhotoViewModel();

                    while (grvPopular.ActualWidth == 0)
                    {
                        await Task.Delay(10);
                    }

                    for (int i = 0; i < ViewModel.PopularImages.Count; i++)
                    {
                        var width = ViewModel.PopularImages[i].width * 310 / ViewModel.PopularImages[i].height;
                        totalWidth += width;

                        if (totalWidth > grvPopular.ActualWidth)
                        {
                            for (int j = start; j < i; j++)
                            {
                                ViewModel.PopularImages[j].Scale = grvPopular.ActualWidth / (totalWidth - width);
                            }
                            start      = i;
                            totalWidth = width;
                        }
                    }

                    for (int j = start; j < ViewModel.PopularImages.Count; j++)
                    {
                        ViewModel.PopularImages[j].Scale = grvPopular.ActualWidth / (totalWidth);
                    }


                    grvPopular.ItemsSource = ViewModel.PopularImages;
                }
                else
                {
                    grvPopular.ItemsSource = ViewModel.PopularImages;
                }

                griPopularLoading.Visibility = Visibility.Collapsed;
            }
        }
        private async void btNextfe_Click(object sender, RoutedEventArgs e)
        {
            pagePopular++;
            if (pagePopular > 1)
            {
                btBackfe.IsEnabled = true;
            }

            publicAuthorization = new PublicAuthorization();
            RequestParameters.publicPopularUri = "https://api.unsplash.com/photos/?client_id=" + RequestParameters.client_id + "&page=" + pagePopular + "&per_page=30&order_by=popular";
            listPopularImage = await publicAuthorization.GetPopularImages();

            await Task.Delay(300);

            while (listNewImage.Count == 0)
            {
                await Task.Delay(10);

                listPopularImage = await publicAuthorization.GetPopularImages();
            }

            double totalWidth = 0;
            int    start      = 0;

            this.ViewModel = new MainPanePhotoViewModel();

            while (grvPopular.ActualWidth == 0)
            {
                await Task.Delay(10);
            }

            for (int i = 0; i < ViewModel.PopularImages.Count; i++)
            {
                var width = ViewModel.PopularImages[i].width * 310 / ViewModel.PopularImages[i].height;
                totalWidth += width;

                if (totalWidth > grvPopular.ActualWidth)
                {
                    for (int j = start; j < i; j++)
                    {
                        ViewModel.PopularImages[j].Scale = grvPopular.ActualWidth / (totalWidth - width);
                    }
                    start      = i;
                    totalWidth = width;
                }
            }

            for (int j = start; j < ViewModel.PopularImages.Count; j++)
            {
                ViewModel.PopularImages[j].Scale = grvPopular.ActualWidth / (totalWidth);
            }


            grvPopular.ItemsSource             = ViewModel.PopularImages;
            RequestParameters.publicPopularUri = "";
        }
示例#4
0
        private async void Grid_Loaded(object sender, RoutedEventArgs e)
        {
            PublicAuthorization publicAuthorization = new PublicAuthorization();

            listNewImage = await publicAuthorization.Authorization();

            while (listNewImage.Count == 0)
            {
                await Task.Delay(10);

                listNewImage = await publicAuthorization.Authorization();
            }


            double totalWidth = 0;
            int    start      = 0;

            this.ViewModel = new MainPanePhotoViewModel();

            while (grvStart.ActualWidth == 0)
            {
                await Task.Delay(10);
            }

            for (int i = 0; i < ViewModel.NewImages.Count; i++)
            {
                var width = ViewModel.NewImages[i].width * 310 / ViewModel.NewImages[i].height;
                totalWidth += width;

                if (totalWidth > grvStart.ActualWidth)
                {
                    for (int j = start; j < i; j++)
                    {
                        ViewModel.NewImages[j].Scale = grvStart.ActualWidth / (totalWidth - width);
                    }
                    start      = i;
                    totalWidth = width;
                }
            }

            for (int j = start; j < ViewModel.NewImages.Count; j++)
            {
                ViewModel.NewImages[j].Scale = grvStart.ActualWidth / (totalWidth);
            }


            grvStart.ItemsSource     = ViewModel.NewImages;
            griNewLoading.Visibility = Visibility.Collapsed;
        }
        private async void grvPopular_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            grvPopular.Visibility        = Visibility.Collapsed;
            griPopularLoading.Visibility = Visibility.Visible;

            publicAuthorization = new PublicAuthorization();
            RequestParameters.publicPopularUri = "https://api.unsplash.com/photos/?client_id=" + RequestParameters.client_id + "&page=" + pagePopular + "&per_page=30&order_by=popular";
            try
            {
                listPopularImage = await publicAuthorization.GetPopularImages();
            }
            catch (Exception)
            {
            }

            while (listNewImage.Count == 0)
            {
                await Task.Delay(10);

                listPopularImage = await publicAuthorization.GetPopularImages();
            }

            double totalWidth = 0;
            int    start      = 0;

            this.ViewModel = new MainPanePhotoViewModel();

            while (grvPopular.ActualWidth == 0)
            {
                await Task.Delay(10);
            }

            for (int i = 0; i < ViewModel.PopularImages.Count; i++)
            {
                var width = ViewModel.PopularImages[i].width * 310 / ViewModel.PopularImages[i].height;
                totalWidth += width;

                if (totalWidth > grvPopular.ActualWidth)
                {
                    for (int j = start; j < i; j++)
                    {
                        ViewModel.PopularImages[j].Scale = grvPopular.ActualWidth / (totalWidth - width);
                    }
                    start      = i;
                    totalWidth = width;
                }
            }

            for (int j = start; j < ViewModel.PopularImages.Count; j++)
            {
                ViewModel.PopularImages[j].Scale = grvPopular.ActualWidth / (totalWidth);
            }


            grvPopular.ItemsSource             = ViewModel.PopularImages;
            RequestParameters.publicPopularUri = "";

            await Task.Delay(300);

            griPopularLoading.Visibility = Visibility.Collapsed;
            grvPopular.Visibility        = Visibility.Visible;
        }
        private async void grvStart_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            griNewLoading.Visibility      = Visibility.Visible;
            grvStart.Visibility           = Visibility.Collapsed;
            RequestParameters.publicAuUri = RequestParameters.defaulUri + "?client_id=" + RequestParameters.client_id + "&page=" + page + "&per_page=30";

            try
            {
                listNewImage = await publicAuthorization.Authorization();
            }
            catch (Exception)
            {
            }

            while (listNewImage.Count == 0)
            {
                await Task.Delay(10);

                listNewImage = await publicAuthorization.Authorization();
            }


            double totalWidth = 0;
            int    start      = 0;

            this.ViewModel = new MainPanePhotoViewModel();

            while (grvStart.ActualWidth == 0)
            {
                await Task.Delay(10);
            }

            for (int i = 0; i < ViewModel.NewImages.Count; i++)
            {
                var width = ViewModel.NewImages[i].width * 310 / ViewModel.NewImages[i].height;
                totalWidth += width;

                if (totalWidth > grvStart.ActualWidth)
                {
                    for (int j = start; j < i; j++)
                    {
                        ViewModel.NewImages[j].Scale = grvStart.ActualWidth / (totalWidth - width);
                    }
                    start      = i;
                    totalWidth = width;
                }
            }

            for (int j = start; j < ViewModel.NewImages.Count; j++)
            {
                ViewModel.NewImages[j].Scale = grvStart.ActualWidth / (totalWidth);
            }


            grvStart.ItemsSource          = ViewModel.NewImages;
            RequestParameters.publicAuUri = "";
            await Task.Delay(200);

            griNewLoading.Visibility = Visibility.Collapsed;
            grvStart.Visibility      = Visibility.Visible;
        }