public IAsyncOperation <ContentDialogBaseResult> ShowAsync(TLInputStickeredMediaBase parameter) { ViewModel.IsLoading = true; ViewModel.Items.Clear(); RoutedEventHandler handler = null; handler = new RoutedEventHandler(async(s, args) => { Loaded -= handler; await ViewModel.OnNavigatedToAsync(parameter, NavigationMode.New, null); }); Loaded += handler; return(ShowAsync()); }
private void AttachedStickers_OnTap(object sender, System.Windows.Input.GestureEventArgs e) { e.Handled = true; _tapHandled = true; var message = ViewModel.CurrentItem as TLMessage; if (message == null) { return; } TLInputStickeredMediaBase media = null; var mediaPhoto = message.Media as TLMessageMediaPhoto28; if (mediaPhoto != null) { var photo = mediaPhoto.Photo as TLPhoto56; if (photo != null) { media = new TLInputStickeredMediaPhoto { Id = new TLInputPhoto { Id = photo.Id, AccessHash = photo.AccessHash } }; } } var mediaDocument = message.Media as TLMessageMediaDocument45; if (mediaDocument != null) { var document = mediaDocument.Document as TLDocument54; if (document != null) { media = new TLInputStickeredMediaDocument { Id = new TLInputDocument { Id = document.Id, AccessHash = document.AccessHash } }; } } if (media == null) { return; } ViewModel.IsWorking = true; var mtProtoService = IoC.Get <IMTProtoService>(); mtProtoService.GetAttachedStickersAsync(true, media, result => Execute.BeginOnUIThread(() => { ViewModel.AttachedStickers = result; ViewModel.IsWorking = false; var r = result; if (r != null) { UpdateSets(r); ShowAttachedStickersMessageBox(r, stickerSetBase => { var stickerSet = stickerSetBase as TLStickerSet32; if (stickerSet != null) { _panAndZoomBehavior.IsEnabled = false; ShowStickerSetMessageBox(false, stickerSet.Installed && !stickerSet.Archived, stickerSet, prompt => { Execute.BeginOnUIThread(() => { _panAndZoomBehavior.IsEnabled = true; if (prompt == PopUpResult.Ok) { ViewModel.AddRemoveStickerSet(stickerSet); } }); }); } }); } }), error => Execute.BeginOnUIThread(() => { ViewModel.IsWorking = false; Telegram.Api.Helpers.Execute.ShowDebugMessage("messages.getAttachedStickers error " + error); })); }