/// <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); }
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_); } }