示例#1
0
        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));
        }
示例#2
0
        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());
            });
        }
示例#3
0
        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);
        }