/// <summary> Показать окно </summary>
        public static WindowMessageBoxButonEnum?Show(UserControl userControl, string text, WindowMessageBoxButonEnum windowMessageBoxButonEnum, WindowMessageBoxTypeEnum windowMessageBoxTypeEnum)
        {
            var window = System.Windows.Window.GetWindow(userControl);

            return(Show(window, text, windowMessageBoxButonEnum, windowMessageBoxTypeEnum));
        }
        /// <summary> Показать окно </summary>
        public static WindowMessageBoxButonEnum?Show(System.Windows.Window window, string text, WindowMessageBoxButonEnum windowMessageBoxButonEnum, WindowMessageBoxTypeEnum windowMessageBoxTypeEnum)
        {
            object resource;

            var header = String.Empty;

            switch (windowMessageBoxTypeEnum)
            {
            case WindowMessageBoxTypeEnum.Information:
                resource = Application.Current.TryFindResource(@"WindowMessageBox_Information");
                header   = resource as string ?? String.Empty;
                break;

            case WindowMessageBoxTypeEnum.Warning:
                resource = Application.Current.TryFindResource(@"WindowMessageBox_Warning");
                header   = resource as string ?? String.Empty;
                break;

            case WindowMessageBoxTypeEnum.Error:
                resource = Application.Current.TryFindResource(@"WindowMessageBox_Error");
                header   = resource as string ?? String.Empty;
                break;

            case WindowMessageBoxTypeEnum.Question:
                resource = Application.Current.TryFindResource(@"WindowMessageBox_Question");
                header   = resource as string ?? String.Empty;
                break;
            }

            return(Show(window, header, text, windowMessageBoxButonEnum, windowMessageBoxTypeEnum));
        }
        /// <summary> Показать окно </summary>
        public static WindowMessageBoxButonEnum?Show(System.Windows.Window window, string header, string text, WindowMessageBoxButonEnum windowMessageBoxButonEnum, WindowMessageBoxTypeEnum windowMessageBoxTypeEnum)
        {
            var windowMessageBox = new WindowMessageBox
            {
                Owner         = window,
                TextBlockText = { Text = text },
                Title         = header
            };

            switch (windowMessageBoxButonEnum)
            {
            case WindowMessageBoxButonEnum.Ok:
                windowMessageBox.ButtonOk.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxButonEnum.OkCancel:
                windowMessageBox.ButtonOk.Visibility     = Visibility.Visible;
                windowMessageBox.ButtonCancel.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxButonEnum.Yes:
                windowMessageBox.ButtonYes.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxButonEnum.YesCancel:
                windowMessageBox.ButtonYes.Visibility    = Visibility.Visible;
                windowMessageBox.ButtonCancel.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxButonEnum.YesNo:
                windowMessageBox.ButtonYes.Visibility = Visibility.Visible;
                windowMessageBox.ButtonNo.Visibility  = Visibility.Visible;
                break;

            case WindowMessageBoxButonEnum.YesNoCancel:
                windowMessageBox.ButtonYes.Visibility    = Visibility.Visible;
                windowMessageBox.ButtonNo.Visibility     = Visibility.Visible;
                windowMessageBox.ButtonCancel.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxButonEnum.ContinueCancel:
                windowMessageBox.ButtonContinue.Visibility = Visibility.Visible;
                windowMessageBox.ButtonCancel.Visibility   = Visibility.Visible;
                break;
            }

            switch (windowMessageBoxTypeEnum)
            {
            case WindowMessageBoxTypeEnum.Information:
                windowMessageBox.ImageInformation.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxTypeEnum.Warning:
                windowMessageBox.ImageWarning.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxTypeEnum.Error:
                windowMessageBox.ImageError.Visibility = Visibility.Visible;
                break;

            case WindowMessageBoxTypeEnum.Question:
                windowMessageBox.ImageQuestion.Visibility = Visibility.Visible;
                break;
            }

            windowMessageBox.ShowDialog();

            return(windowMessageBox._result);
        }