Beispiel #1
0
        /// <summary>
        ///     Shows the custom dialog described by the constructor and properties set by the caller, returns CustomDialogResult.
        /// </summary>
        /// <returns>
        ///     A CommonDialog.CustomDialogResult value.
        /// </returns>
        public TaskDialogResult Show()
        {
            var win = new TaskDialogWindow(this.ButtonsDisabledDelay)
            {
                tbCaption = { Text = this.Caption }
            };

            if (this.FooterText.Length > 0)
            {
                win.tbFooterText.Text = this.FooterText;

                if (this.FooterIcon != TaskDialogIcon.None)
                {
                    win.imgFooterIcon.Source = new BitmapImage(GetIcon(this.FooterIcon));
                }
                else
                {
                    win.imgFooterIcon.Visibility = Visibility.Collapsed;
                }
            }
            else
            {
                win.tbFooterText.Visibility  = Visibility.Collapsed;
                win.imgFooterIcon.Visibility = Visibility.Collapsed;
            }

            if (this.InstructionIcon == TaskDialogIcon.None)
            {
                win.imgInstructionIcon.Visibility = Visibility.Collapsed;
            }
            else
            {
                win.imgInstructionIcon.Source = new BitmapImage(GetIcon(this.InstructionIcon));
            }

            win.tbInstructionText.Text    = this.InstructionText;
            win.tbInstructionHeading.Text = this.InstructionHeading;

            if (this.AdditionalDetailsText.Length > 0)
            {
                win.tbAdditionalDetailsText.Text = this.AdditionalDetailsText;
            }
            else
            {
                win.expAdditionalDetails.Visibility = Visibility.Collapsed;
            }

            SetButtons(win);
            win.ShowInTaskbar = false;
            win.Topmost       = true;
            win.ShowDialog();
            _customDialogResult = win.TaskDialogResult;
            return(_customDialogResult);
        }
Beispiel #2
0
        void SetButtons(TaskDialogWindow win)
        {
            switch (this.Buttons)
            {
            case TaskDialogButton.Ok:
                win.btnCancel.Visibility = Visibility.Collapsed;
                win.btnNo.Visibility     = Visibility.Collapsed;
                win.btnYes.Visibility    = Visibility.Collapsed;

                break;

            case TaskDialogButton.OkCancel:
                win.btnNo.Visibility  = Visibility.Collapsed;
                win.btnYes.Visibility = Visibility.Collapsed;

                break;

            case TaskDialogButton.YesNo:
                win.btnOK.Visibility     = Visibility.Collapsed;
                win.btnCancel.Visibility = Visibility.Collapsed;

                break;

            case TaskDialogButton.YesNoCancel:
                win.btnOK.Visibility = Visibility.Collapsed;

                break;

            default:
                throw new OverflowException(Resources.CustomTaskDialog_SetButtons_Programmer_did_not_program_for_this_selection_);
            }

            switch (this.DefaultButton)
            {
            case TaskDialogResult.Cancel:
                win.btnCancel.IsDefault = true;

                break;

            case TaskDialogResult.No:
                win.btnNo.IsDefault    = true;
                win.btnCancel.IsCancel = true;

                break;

            case TaskDialogResult.None:
                //do nothing
                win.btnCancel.IsCancel = true;

                break;

            case TaskDialogResult.Ok:
                win.btnOK.IsDefault    = true;
                win.btnCancel.IsCancel = true;

                break;

            case TaskDialogResult.Yes:
                win.btnYes.IsDefault   = true;
                win.btnCancel.IsCancel = true;

                break;

            default:
                throw new OverflowException(Resources.CustomTaskDialog_SetButtons_Programmer_did_not_program_for_this_selection_);
            }
        }