private static async Task <bool> ShowDialogAsync(object content, string title, PackIconKind icon, DependencyObject sender) { var dialogContentControl = new DialogContentControl { Content = content, Title = title, Icon = icon, ShowStandardButtons = false }; var result = await(sender == null ? DialogHost.Show(dialogContentControl) : sender.ShowDialog(dialogContentControl)); return(bool.TrueString.Equals(result)); }
private async void DeleteDocument(Result result, ISnackbarMessageQueue snackbarMessageQueue) { var dialogContentControl = new DialogContentControl { Padding = new Thickness(16), Title = "Confirm Delete", Content = $"Are you sure you wish to delete this document?{Environment.NewLine + Environment.NewLine}id: {result.Id.Raw + Environment.NewLine}_self: {result.Id.Self}" }; var confirmation = await DialogHost.Show(dialogContentControl, _dialogTargetFinder.SuggestDialogHostIdentifier()); if (!bool.TrueString.Equals(confirmation)) { return; } var progressRing = new ProgressRing(); await DialogHost.Show(progressRing, _dialogTargetFinder.SuggestDialogHostIdentifier(), delegate(object sender, DialogOpenedEventArgs args) { Task.Factory.StartNew(async() => { using (var client = CreateDocumentClient(_connectionProvider())) { await client.DeleteDocumentAsync(result.Id.Self); } }).ContinueWith(task => { if (task.Exception != null) { args.Session.UpdateContent(new MessageDialog { Title = "Delete Error", Content = task.Exception.Flatten().Message }); } else { snackbarMessageQueue.Enqueue($"Deleted document '{result.Id.ToString()}'."); args.Session.Close(); } }, TaskScheduler.FromCurrentSynchronizationContext()); }); }
private Popup CreatePopup(UIElement view, IEnumerable <KeyValuePair <string, object> > settings) { var dialogContent = new DialogContentControl { Content = view, Width = Window.Current.Bounds.Width, Height = Window.Current.Bounds.Height, }; ApplySettings(dialogContent, settings); var popup = new Popup { Child = dialogContent, IsLightDismissEnabled = false, IsOpen = true, HorizontalOffset = 0.0d, VerticalOffset = 0.0d }; dialogContent.Dismissed += (s, e) => popup.IsOpen = false; return(popup); }