Esempio n. 1
0
        /// <summary>
        /// Closes the modal dialog.
        /// </summary>
        public void Close()
        {
            if (!_isOpen)
            {
                return;
            }

            ValidateOwner();

            InlineModalDecorator panel = GetModalDecorator(Owner);

            if (panel == null)
            {
                return;
            }

            var cancelArgs = new CancelRoutedEventArgs(ClosingEvent);

            OnClosing(cancelArgs);
            if (cancelArgs.Cancel)
            {
                return;
            }

            if (Animator.IsAnimationEnabled)
            {
                Storyboard dialogAnim = DialogOutroAnimation;
                if (dialogAnim != null)
                {
                    if (dialogAnim.IsFrozen)
                    {
                        dialogAnim = dialogAnim.Clone();
                    }

                    // Add a handler so we know when the dialog can be closed.
                    dialogAnim.AttachCompletedEventHandler(OnCloseAnimationCompleted);
                    dialogAnim.Begin(this);
                }
            }
            else
            {
                CloseDialog(panel);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Raises the <see cref="Closing"/> routed event.
 /// </summary>
 /// <param name="args"></param>
 protected virtual void OnClosing(CancelRoutedEventArgs args)
 {
     RaiseEvent(args);
 }
Esempio n. 3
0
        /// <summary>
        /// Closes the modal dialog.
        /// </summary>
        public void Close()
        {
            if (!_isOpen) return;

            ValidateOwner();

            InlineModalDecorator panel = GetModalDecorator(Owner);

            if (panel == null) return;

            var cancelArgs = new CancelRoutedEventArgs(ClosingEvent);
            OnClosing(cancelArgs);
            if (cancelArgs.Cancel) return;

            if (Animator.IsAnimationEnabled)
            {
                Storyboard dialogAnim = DialogOutroAnimation;
                if (dialogAnim != null)
                {
                    if (dialogAnim.IsFrozen)
                    {
                        dialogAnim = dialogAnim.Clone();
                    }

                    // Add a handler so we know when the dialog can be closed.
                    dialogAnim.AttachCompletedEventHandler(OnCloseAnimationCompleted);
                    dialogAnim.Begin(this);
                }
            }
            else
            {
                CloseDialog(panel);
            }
        }
Esempio n. 4
0
 /// <summary>
 /// Raises the <see cref="Closing"/> routed event.
 /// </summary>
 /// <param name="args"></param>
 protected virtual void OnClosing(CancelRoutedEventArgs args)
 {
     RaiseEvent(args);
 }