1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/akwkevin-aistudio.-wpf.-diagram

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
WPFMessageBoxService.cs 17 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
艾竹 Отправлено 2 лет назад 4b798f7
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace AIStudio.Wpf.DiagramDesigner.Services
{
/// <summary>
/// This class implements the IMessageBoxService for WPF purposes.
/// </summary>
public class WPFMessageBoxService : IMessageBoxService
{
#region IMessageBoxService Members
/// <summary>
/// Displays an error dialog with a given message.
/// </summary>
/// <param name="message">The message to be displayed.</param>
public void ShowError(string message)
{
ShowMessage(message, "Error", CustomDialogIcons.Stop);
}
/// <summary>
/// Displays an error dialog with a given message and caption.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
public void ShowError(string message, string caption)
{
ShowMessage(message, caption, CustomDialogIcons.Stop);
}
/// <summary>
/// Displays an error dialog with a given message.
/// </summary>
/// <param name="message">The message to be displayed.</param>
public void ShowInformation(string message)
{
ShowMessage(message, "Information", CustomDialogIcons.Information);
}
/// <summary>
/// Displays an error dialog with a given message.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
public void ShowInformation(string message, string caption)
{
ShowMessage(message, caption, CustomDialogIcons.Information);
}
/// <summary>
/// Displays an error dialog with a given message.
/// </summary>
/// <param name="message">The message to be displayed.</param>
public void ShowWarning(string message)
{
ShowMessage(message, "Warning", CustomDialogIcons.Warning);
}
/// <summary>
/// Displays an error dialog with a given message.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
public void ShowWarning(string message, string caption)
{
ShowMessage(message, caption, CustomDialogIcons.Warning);
}
/// <summary>
/// Displays a Yes/No dialog and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="icon">The icon to be displayed.</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowYesNo(string message, CustomDialogIcons icon)
{
return ShowQuestionWithButton(message, icon, CustomDialogButtons.YesNo);
}
/// <summary>
/// Displays a Yes/No dialog and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowYesNo(string message, string caption, CustomDialogIcons icon)
{
return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.YesNo);
}
/// <summary>
/// Displays a Yes/No dialog with a default button selected, and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <param name="defaultResult">Default result for the message box</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowYesNo(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
{
return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.YesNo, defaultResult);
}
/// <summary>
/// Displays a Yes/No/Cancel dialog and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="icon">The icon to be displayed.</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowYesNoCancel(string message, CustomDialogIcons icon)
{
return ShowQuestionWithButton(message, icon, CustomDialogButtons.YesNoCancel);
}
/// <summary>
/// Displays a Yes/No/Cancel dialog and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowYesNoCancel(string message, string caption, CustomDialogIcons icon)
{
return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.YesNoCancel);
}
/// <summary>
/// Displays a Yes/No/Cancel dialog with a default button selected, and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <param name="defaultResult">Default result for the message box</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowYesNoCancel(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
{
return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.YesNoCancel, defaultResult);
}
/// <summary>
/// Displays a OK/Cancel dialog and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="icon">The icon to be displayed.</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowOkCancel(string message, CustomDialogIcons icon)
{
return ShowQuestionWithButton(message, icon, CustomDialogButtons.OKCancel);
}
/// <summary>
/// Displays a OK/Cancel dialog and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowOkCancel(string message, string caption, CustomDialogIcons icon)
{
return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.OKCancel);
}
/// <summary>
/// Displays a OK/Cancel dialog with a default result selected, and returns the user input.
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <param name="defaultResult">Default result for the message box</param>
/// <returns>User selection.</returns>
public CustomDialogResults ShowOkCancel(string message, string caption, CustomDialogIcons icon, CustomDialogResults defaultResult)
{
return ShowQuestionWithButton(message, caption, icon, CustomDialogButtons.OKCancel, defaultResult);
}
#endregion
#region Private Methods
/// <summary>
/// Shows a standard System.Windows.MessageBox using the parameters requested
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The heading to be displayed</param>
/// <param name="icon">The icon to be displayed.</param>
private void ShowMessage(string message, string caption, CustomDialogIcons icon)
{
MessageBox.Show(message, caption, MessageBoxButton.OK, GetImage(icon));
}
/// <summary>
/// Shows a standard System.Windows.MessageBox using the parameters requested
/// but will return a translated result to enable adhere to the IMessageBoxService
/// implementation required.
///
/// This abstraction allows for different frameworks to use the same ViewModels but supply
/// alternative implementations of core service interfaces
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="icon">The icon to be displayed.</param>
/// <param name="button"></param>
/// <returns>CustomDialogResults results to use</returns>
private CustomDialogResults ShowQuestionWithButton(string message,
CustomDialogIcons icon, CustomDialogButtons button)
{
MessageBoxResult result = MessageBox.Show(message, "Please confirm...",
GetButton(button), GetImage(icon));
return GetResult(result);
}
/// <summary>
/// Shows a standard System.Windows.MessageBox using the parameters requested
/// but will return a translated result to enable adhere to the IMessageBoxService
/// implementation required.
///
/// This abstraction allows for different frameworks to use the same ViewModels but supply
/// alternative implementations of core service interfaces
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <param name="button"></param>
/// <returns>CustomDialogResults results to use</returns>
private CustomDialogResults ShowQuestionWithButton(string message, string caption,
CustomDialogIcons icon, CustomDialogButtons button)
{
MessageBoxResult result = MessageBox.Show(message, caption,
GetButton(button), GetImage(icon));
return GetResult(result);
}
/// <summary>
/// Shows a standard System.Windows.MessageBox using the parameters requested
/// but will return a translated result to enable adhere to the IMessageBoxService
/// implementation required.
///
/// This abstraction allows for different frameworks to use the same ViewModels but supply
/// alternative implementations of core service interfaces
/// </summary>
/// <param name="message">The message to be displayed.</param>
/// <param name="caption">The caption of the message box window</param>
/// <param name="icon">The icon to be displayed.</param>
/// <param name="button"></param>
/// <param name="defaultResult">Default result for the message box</param>
/// <returns>CustomDialogResults results to use</returns>
private CustomDialogResults ShowQuestionWithButton(string message, string caption,
CustomDialogIcons icon, CustomDialogButtons button, CustomDialogResults defaultResult)
{
MessageBoxResult result = MessageBox.Show(message, caption,
GetButton(button), GetImage(icon), GetResult(defaultResult));
return GetResult(result);
}
/// <summary>
/// Translates a CustomDialogIcons into a standard WPF System.Windows.MessageBox MessageBoxImage.
/// This abstraction allows for different frameworks to use the same ViewModels but supply
/// alternative implementations of core service interfaces
/// </summary>
/// <param name="icon">The icon to be displayed.</param>
/// <returns>A standard WPF System.Windows.MessageBox MessageBoxImage</returns>
private MessageBoxImage GetImage(CustomDialogIcons icon)
{
MessageBoxImage image = MessageBoxImage.None;
switch (icon)
{
case CustomDialogIcons.Information:
image = MessageBoxImage.Information;
break;
case CustomDialogIcons.Question:
image = MessageBoxImage.Question;
break;
case CustomDialogIcons.Exclamation:
image = MessageBoxImage.Exclamation;
break;
case CustomDialogIcons.Stop:
image = MessageBoxImage.Stop;
break;
case CustomDialogIcons.Warning:
image = MessageBoxImage.Warning;
break;
}
return image;
}
/// <summary>
/// Translates a CustomDialogButtons into a standard WPF System.Windows.MessageBox MessageBoxButton.
/// This abstraction allows for different frameworks to use the same ViewModels but supply
/// alternative implementations of core service interfaces
/// </summary>
/// <param name="btn">The button type to be displayed.</param>
/// <returns>A standard WPF System.Windows.MessageBox MessageBoxButton</returns>
private MessageBoxButton GetButton(CustomDialogButtons btn)
{
MessageBoxButton button = MessageBoxButton.OK;
switch (btn)
{
case CustomDialogButtons.OK:
button = MessageBoxButton.OK;
break;
case CustomDialogButtons.OKCancel:
button = MessageBoxButton.OKCancel;
break;
case CustomDialogButtons.YesNo:
button = MessageBoxButton.YesNo;
break;
case CustomDialogButtons.YesNoCancel:
button = MessageBoxButton.YesNoCancel;
break;
}
return button;
}
/// <summary>
/// Translates a standard WPF System.Windows.MessageBox MessageBoxResult into a
/// CustomDialogIcons.
/// This abstraction allows for different frameworks to use the same ViewModels but supply
/// alternative implementations of core service interfaces
/// </summary>
/// <param name="result">The standard WPF System.Windows.MessageBox MessageBoxResult</param>
/// <returns>CustomDialogResults results to use</returns>
private CustomDialogResults GetResult(MessageBoxResult result)
{
CustomDialogResults customDialogResults = CustomDialogResults.None;
switch (result)
{
case MessageBoxResult.Cancel:
customDialogResults = CustomDialogResults.Cancel;
break;
case MessageBoxResult.No:
customDialogResults = CustomDialogResults.No;
break;
case MessageBoxResult.None:
customDialogResults = CustomDialogResults.None;
break;
case MessageBoxResult.OK:
customDialogResults = CustomDialogResults.OK;
break;
case MessageBoxResult.Yes:
customDialogResults = CustomDialogResults.Yes;
break;
}
return customDialogResults;
}
/// <summary>
/// Translates a CustomDialogResults into a standard WPF System.Windows.MessageBox MessageBoxResult
/// This abstraction allows for different frameworks to use the same ViewModels but supply
/// alternative implementations of core service interfaces
/// </summary>
/// <param name="result">The CustomDialogResults</param>
/// <returns>The standard WPF System.Windows.MessageBox MessageBoxResult results to use</returns>
private MessageBoxResult GetResult(CustomDialogResults result)
{
MessageBoxResult customDialogResults = MessageBoxResult.None;
switch (result)
{
case CustomDialogResults.Cancel:
customDialogResults = MessageBoxResult.Cancel;
break;
case CustomDialogResults.No:
customDialogResults = MessageBoxResult.No;
break;
case CustomDialogResults.None:
customDialogResults = MessageBoxResult.None;
break;
case CustomDialogResults.OK:
customDialogResults = MessageBoxResult.OK;
break;
case CustomDialogResults.Yes:
customDialogResults = MessageBoxResult.Yes;
break;
}
return customDialogResults;
}
#endregion
}
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/akwkevin-aistudio.-wpf.-diagram.git
git@gitlife.ru:oschina-mirror/akwkevin-aistudio.-wpf.-diagram.git
oschina-mirror
akwkevin-aistudio.-wpf.-diagram
akwkevin-aistudio.-wpf.-diagram
1.0.7Demo