예제 #1
0
        private void DeferredDialog_Click(object sender, RoutedEventArgs args)
        {
            DidCloseTextBlock.Text = "Not closed";
            var dialog = new ContentDialog {
                CloseButtonText = "Close"
            };
            ContentDialogClosingDeferral deferral1 = null;
            ContentDialogClosingDeferral deferral2 = null;
            var defer1Button = new _Button {
                Name = "Complete1Button", Content = "Complete 1"
            };

            defer1Button.Click += (o, e) =>
            {
                deferral1.Complete();
                ResultTextBlock.Text = "First complete called";
            };
            var defer2Button = new _Button {
                Name = "Complete2Button", Content = "Complete 2"
            };

            defer2Button.Click += (o, e) =>
            {
                deferral2.Complete();
                ResultTextBlock.Text = "Second complete called";
            };
            var panel = new StackPanel
            {
                Orientation = Orientation.Horizontal,
                Children    =
                {
                    defer1Button,
                    defer2Button
                }
            };

            dialog.Content = panel;

            dialog.Closing += (o, e) =>
            {
                deferral1 = e.GetDeferral();
            };
            dialog.Closing += (o, e) =>
            {
                deferral2 = e.GetDeferral();
            };

            dialog.Closed += (o, e) =>
            {
                DidCloseTextBlock.Text = "Closed";
            };

            var dummy = dialog.ShowAsync();
        }
예제 #2
0
 void IContentDialogClosingDeferralResolver.Complete(ContentDialogClosingDeferral deferral) => deferral.Complete();
 public ContentDialogClosingDeferral GetDeferral()
 {
     _deferral = new ContentDialogClosingDeferral(_owner);
     return(_deferral);
 }
예제 #4
0
 /// <summary>
 /// Notifies the system that the app has finished processing the closing event.
 /// </summary>
 /// <param name="deferral">The requested <see cref="ContentDialogClosingDeferral"/>.</param>
 public static void CompleteWrapped(this ContentDialogClosingDeferral deferral) => Resolver.Complete(deferral);