2025-08-20 12:10:35 +08:00
|
|
|
|
namespace NeoUI.Controls;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 提供静态方法用于显示模态对话框,包括确认对话框和信息对话框。
|
|
|
|
|
|
/// </summary>
|
2025-08-12 23:08:54 +08:00
|
|
|
|
public static class Modal
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 显示一个确认对话框
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="owner">父窗口</param>
|
|
|
|
|
|
/// <param name="title">标题</param>
|
|
|
|
|
|
/// <param name="message">信息</param>
|
|
|
|
|
|
/// <param name="onOkAsync">点击确定按钮时执行的异步委托</param>
|
|
|
|
|
|
/// <returns>如果用户点击OK并异步操作成功,则返回true,否则返回false</returns>
|
|
|
|
|
|
public static bool? Confirm(Window owner, string title, string message, Func<Task<bool>>? onOkAsync = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
var modal = new ModalWindow(title, message)
|
|
|
|
|
|
{
|
|
|
|
|
|
Owner = owner,
|
|
|
|
|
|
OnOkAsync = onOkAsync
|
|
|
|
|
|
};
|
|
|
|
|
|
return modal.ShowDialog();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 显示一个信息对话框
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="owner">父窗口</param>
|
|
|
|
|
|
/// <param name="title">标题</param>
|
|
|
|
|
|
/// <param name="message">信息</param>
|
|
|
|
|
|
public static void Info(Window owner, string title, string message)
|
|
|
|
|
|
{
|
|
|
|
|
|
var modal = new ModalWindow(title, message)
|
|
|
|
|
|
{
|
|
|
|
|
|
Owner = owner
|
|
|
|
|
|
};
|
|
|
|
|
|
// 隐藏取消按钮
|
|
|
|
|
|
modal.CancelButton.Visibility = Visibility.Collapsed;
|
|
|
|
|
|
modal.ShowDialog();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|