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 = ""; }
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 = ""; }
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; }