protected override void OnNavigatedTo(NavigationEventArgs e) { OverAll.TheMainPage?.SelectNavPlaceholder(OverAll.GetResourceString("UserDetailPagePlain")); //治标不治本的加载逻辑……反正个人插画也不会太多,全部重载就好) if (e.Parameter is ValueTuple <int, bool> tuple) { Data.OverAll.UserList?.StopLoading(); userid = tuple.Item1; _ = loadContents(); //Data.OverAll.RefreshUserList(userid.ToString()); 治 本 (需删除85行并修改Collection中的瀑布流控制逻辑) } else if (e.Parameter is int id) {// 只传ID进来 userid = id; _ = loadContents(); // 只传ID进来 查看用户信息 这把信息隐藏了看什么... //grdDetail.Visibility = Visibility.Collapsed; } Data.OverAll.RefreshUserList(userid.ToString()); //治 标 Data.OverAll.UserList.ResumeLoading(); itemsSource = OverAll.UserList; itemsSource.CollectionChanged += ItemsSource_CollectionChanged; WaterfallListView.ItemsSource = itemsSource; base.OnNavigatedTo(e); }
private void DataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { var request = args.Request; request.Data.SetText(string.Format("{0}\n{1}\n" + "{2}:https://www.pixiv.net/member.php?id={3}\n" + "PixivFSUWP:pixiv://user?id={3}", OverAll.GetResourceString("PixivUserPlain"), detail.Name, OverAll.GetResourceString("LinkPlain"), detail.ID)); request.Data.Properties.Title = string.Format("{0}:{1}", OverAll.GetResourceString("ArtistPlain"), detail.Name); request.Data.Properties.Description = OverAll.GetResourceString("UserShareTipPlain"); }
private void WaterfallListView_RightTapped(object sender, RightTappedRoutedEventArgs e) { ListView listView = (ListView)sender; tapped = ((FrameworkElement)e.OriginalSource).DataContext as ViewModels.WaterfallItemViewModel; quickStar.Text = (tapped.IsBookmarked) ? OverAll.GetResourceString("DeleteBookmarkPlain") : OverAll.GetResourceString("QuickBookmarkPlain"); quickStar.IsEnabled = tapped.Title != null; quickActions.ShowAt(listView, e.GetPosition(listView)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.Parameter is ListContent content) { listContent = content; } switch (listContent) { case ListContent.Recommend: if (IllustsCollectionManager.RecommendList is null) { IllustsCollectionManager.RefreshRecommendList(); } WaterfallListView.ItemsSource = IllustsCollectionManager.RecommendList; break; case ListContent.Bookmark: if (IllustsCollectionManager.BookmarkList is null) { IllustsCollectionManager.RefreshBookmarkList(); } WaterfallListView.ItemsSource = IllustsCollectionManager.BookmarkList; break; case ListContent.Following: if (IllustsCollectionManager.FollowingList is null) { IllustsCollectionManager.RefreshFollowingList(); } WaterfallListView.ItemsSource = IllustsCollectionManager.FollowingList; break; case ListContent.Ranking: if (IllustsCollectionManager.RankingList is null) { IllustsCollectionManager.RefreshRankingList(); } WaterfallListView.ItemsSource = IllustsCollectionManager.RankingList; break; case ListContent.SearchResult: ((Frame.Parent as Grid)?.Parent as MainPage)?.SelectNavPlaceholder(OverAll.GetResourceString("SearchPagePlain")); WaterfallListView.ItemsSource = IllustsCollectionManager.SearchResults.Pop(); break; } if (WaterfallListView.ItemsSource is IllustsCollectionBase <ViewModels.WaterfallItemViewModel> collection) { Debug.WriteLine(WaterfallListView.ItemsSource + "\tResumeLoading"); collection.ResumeLoading(); verticalOffset = collection.VerticalOffset; } }
private async void BtnFollow_Click(object sender, RoutedEventArgs e) { var btnSender = sender as ToggleButton; btnSender.IsEnabled = false; if (btnSender.IsChecked == true) { btnSender.IsChecked = false; //进行关注 txtBtnFollow.Text = OverAll.GetResourceString("RequestingPlain"); bool res; try { await new PixivAppAPI(Data.OverAll.GlobalBaseAPI) .PostUserFollowAddAsync(detail.ID.ToString()); res = true; } catch { res = false; } if (res) { btnSender.IsChecked = true; txtBtnFollow.Text = OverAll.GetResourceString("FollowingPlain"); } btnSender.IsEnabled = true; } else { btnSender.IsChecked = true; //取消关注 txtBtnFollow.Text = OverAll.GetResourceString("RequestingPlain"); bool res; try { await new PixivAppAPI(Data.OverAll.GlobalBaseAPI) .PostUserFollowDeleteAsync(detail.ID.ToString()); res = true; } catch { res = false; } if (res) { btnSender.IsChecked = false; txtBtnFollow.Text = OverAll.GetResourceString("NotFollowingPlain"); } btnSender.IsEnabled = true; } }
async Task loadContents() { var res = await new PixivAppAPI(Data.OverAll.GlobalBaseAPI) .GetUserDetailAsync(userid.ToString()); detail = Data.UserDetail.FromObject(res); string _getText(string input) => (input == "") ? OverAll.GetResourceString("PrivatePlain") : input; txtUsername.Text = detail.Name; txtAuthor.Text = detail.Name; txtAccount.Text = "@" + detail.Account; txtAuthorAccount.Text = txtAccount.Text; txtWebPage.Text = (detail.WebPage == "") ? OverAll.GetResourceString("PrivateOrNonePlain") : detail.WebPage; if (detail.Gender == "") { txtGender.Text = OverAll.GetResourceString("PrivatePlain"); } else { txtGender.Text = (detail.Gender == "male") ? OverAll.GetResourceString("MalePlain") : OverAll.GetResourceString("FemalePlain"); } txtBirthday.Text = _getText(detail.BirthDay); txtRegion.Text = _getText(detail.Region); txtJob.Text = _getText(detail.Job); string _getHW(string input) => (input == "") ? OverAll.GetResourceString("UnknownPlain") : input; txtPC.Text = _getHW(detail.PC); txtMonitor.Text = _getHW(detail.Monitor); txtTool.Text = _getHW(detail.Tool); txtScanner.Text = _getHW(detail.Scanner); txtTablet.Text = _getHW(detail.Tablet); txtMouse.Text = _getHW(detail.Mouse); txtPrinter.Text = _getHW(detail.Printer); txtDesktop.Text = _getHW(detail.Desktop); txtMusic.Text = _getHW(detail.Music); txtDesk.Text = _getHW(detail.Desk); txtChair.Text = _getHW(detail.Chair); txtBtnFollow.Text = detail.IsFollowed ? OverAll.GetResourceString("FollowingPlain") : OverAll.GetResourceString("NotFollowingPlain"); btnFollow.IsChecked = detail.IsFollowed; imgAvatar.ImageSource = await Data.OverAll.LoadImageAsync(detail.AvatarUrl); imgAuthor.ImageSource = imgAvatar.ImageSource; }
private async void btnSetWallpaper_Click(object sender, RoutedEventArgs e) { if (UserProfilePersonalizationSettings.IsSupported()) { var img = mainImg.Source as WriteableBitmap; var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("wallpaper.png", CreationCollisionOption.ReplaceExisting); if (file is null) { return; } using (var fs = await file.OpenAsync(FileAccessMode.ReadWrite)) { var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, fs); encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied, (uint)img.PixelWidth, (uint)img.PixelHeight, 96.0, 96.0, await Data.OverAll.ImageToBytes(img)); await encoder.FlushAsync(); await fs.FlushAsync(); } if (await UserProfilePersonalizationSettings.Current.TrySetWallpaperImageAsync(file)) { await ShowTip(OverAll.GetResourceString("SetWallpaper_Done")); } else { await new MessageDialog(OverAll.GetResourceString("SetWallpaper_Failed")).ShowAsync(); } } else { await new MessageDialog(OverAll.GetResourceString("SetWallpaper_NoSupported")).ShowAsync(); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); OverAll.TheMainPage.SelectNavPlaceholder(OverAll.GetResourceString("DownloadsPlain")); NavControl.SelectedItem = NavControl.MenuItems[1]; }
private async void QuickStar_Click(object sender, RoutedEventArgs e) { if (tapped == null) { return; } var i = tapped; var title = i.Title; try { //用Title作标识,表明任务是否在执行 i.Title = null; if (i.IsBookmarked) { bool res; try { await new PixivAppAPI(Data.OverAll.GlobalBaseAPI) .PostIllustBookmarkDeleteAsync(i.ItemId.ToString()); res = true; } catch { res = false; } i.Title = title; if (res) { i.IsBookmarked = false; i.Stars--; i.NotifyChange("StarsString"); i.NotifyChange("IsBookmarked"); await OverAll.TheMainPage?.ShowTip(string.Format(OverAll.GetResourceString("DeletedBookmarkPlain"), title)); } else { await OverAll.TheMainPage?.ShowTip(string.Format(OverAll.GetResourceString("BookmarkDeleteFailedPlain"), title)); } } else { bool res; try { await new PixivAppAPI(Data.OverAll.GlobalBaseAPI) .PostIllustBookmarkAddAsync(i.ItemId.ToString()); res = true; } catch { res = false; } i.Title = title; if (res) { i.IsBookmarked = true; i.Stars++; i.NotifyChange("StarsString"); i.NotifyChange("IsBookmarked"); await OverAll.TheMainPage?.ShowTip(string.Format(OverAll.GetResourceString("WorkBookmarkedPlain"), title)); } else { await OverAll.TheMainPage?.ShowTip(string.Format(OverAll.GetResourceString("WorkBookmarkFailedPlain"), title)); } } } finally { //确保出错时数据不被破坏 i.Title = title; } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); ((Frame.Parent as Grid)?.Parent as MainPage)?.SelectNavPlaceholder(OverAll.GetResourceString("DownloadedCaption\\Content")); }