43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
namespace VariaStudio.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();
|
||
}
|
||
}
|