Files
ShrlAlgoToolkit/Melskin/Controls/Modal/Modal.cs
2026-02-17 22:17:13 +08:00

43 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace Melskin.Controls;
/// <summary>
/// 提供静态方法用于显示模态对话框,包括确认对话框和信息对话框。
/// </summary>
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();
}
}