mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-19 15:20:25 +08:00
6.2 KiB
6.2 KiB
MessageBox API 参考
命名空间
namespace AtomUI.Desktop.Controls;
AXAML 命名空间前缀:atom(xmlns:atom="https://atomui.net")
枚举类型
MessageBoxStyle
消息弹框样式枚举,控制图标和默认按钮组合。
| 值 | 说明 |
|---|---|
Normal |
无图标,仅 OK 按钮 |
Confirm |
黄色 ExclamationCircleFilled 图标,OK + Cancel 按钮 |
Information |
蓝色 InfoCircleFilled 图标,仅 OK 按钮 |
Success |
绿色 CheckCircleFilled 图标,仅 OK 按钮 |
Warning |
黄色 ExclamationCircleFilled 图标,仅 OK 按钮 |
Error |
红色 CloseCircleFilled 图标,仅 OK 按钮 |
MessageBoxOkButtonStyle
确认按钮样式枚举。
| 值 | 说明 |
|---|---|
Default |
默认样式按钮(白色背景 + 边框) |
Primary |
主按钮样式(蓝色实心背景) |
DialogHostType(来自 AtomUI.Desktop.Controls)
弹窗宿主类型枚举。
| 值 | 说明 |
|---|---|
Window |
独立原生窗口 |
Overlay |
页面内浮层覆盖(默认) |
MessageBox 类
公共属性(StyledProperty)
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Title |
string? |
null |
弹框标题 |
Icon |
PathIcon? |
null |
自定义图标(为 null 时根据 Style 自动设置) |
Content |
object? |
null |
弹框正文内容([Content] 标记,支持任意控件) |
ContentTemplate |
IDataTemplate? |
null |
内容模板 |
Style |
MessageBoxStyle |
MessageBoxStyle.Information |
消息样式,控制图标和按钮组合 |
OkButtonStyle |
MessageBoxOkButtonStyle |
MessageBoxOkButtonStyle.Primary |
确认按钮样式 |
OkButtonText |
string? |
null |
自定义确认按钮文本 |
CancelButtonText |
string? |
null |
自定义取消按钮文本 |
HostType |
DialogHostType |
DialogHostType.Overlay |
宿主模式 |
IsOpen |
bool |
false |
弹框是否打开(支持双向绑定) |
IsModal |
bool |
false |
是否为模态弹框 |
IsLoading |
bool |
false |
整体加载状态 |
IsConfirmLoading |
bool |
false |
确认按钮加载状态 |
IsLightDismissEnabled |
bool |
false |
是否允许点击遮罩关闭(仅 Overlay 模式) |
IsDragMovable |
bool |
false |
是否允许拖拽标题栏移动 |
IsCenterOnStartup |
bool |
true |
是否初始居中显示 |
HorizontalOffset |
Dimension? |
null |
水平偏移量 |
VerticalOffset |
Dimension? |
null |
垂直偏移量 |
PlacementTarget |
Control? |
null |
放置目标控件([ResolveByName] 标记) |
Result |
object? |
null |
弹框操作结果(支持双向绑定) |
IsMotionEnabled |
bool |
跟随全局 Token EnableMotion |
是否启用动画(共享属性) |
CLR 属性
| 属性名 | 类型 | 说明 |
|---|---|---|
ButtonsConfigure |
Action<IReadOnlyList<DialogButton>>? |
按钮配置回调,可自定义标准按钮的文本和行为 |
CustomButtons |
AvaloniaList<DialogButton> |
自定义按钮集合 |
公共方法
| 方法 | 签名 | 说明 |
|---|---|---|
Open |
object? Open() |
同步打开弹框,返回操作结果 |
OpenAsync |
Task OpenAsync() |
异步打开弹框 |
Cancel |
void Cancel() |
触发取消操作(调用内部 Dialog.Reject) |
Confirm |
void Confirm() |
触发确认操作(调用内部 Dialog.Accept) |
静态方法
| 方法 | 签名 | 说明 |
|---|---|---|
ShowMessageBox |
static object? ShowMessageBox<TView, TViewModel>(TViewModel?, MessageBoxOptions?, TopLevel?) |
同步显示(泛型版) |
ShowMessageBox |
static object? ShowMessageBox(Control, object?, MessageBoxOptions?, TopLevel?) |
同步显示(自定义内容版) |
ShowMessageBoxAsync |
static Task ShowMessageBoxAsync<TView, TViewModel>(TViewModel?, MessageBoxOptions?, Action<IMessageBoxActionResult>?, TopLevel?) |
异步显示,通过回调获取结果 |
ShowMessageBoxModalAsync |
static Task<object?> ShowMessageBoxModalAsync<TView, TViewModel>(TViewModel?, MessageBoxOptions?, TopLevel?) |
异步模态显示,返回结果 |
ShowMessageAsync |
static Task ShowMessageAsync(Control, object?, MessageBoxOptions?, Action<IMessageBoxActionResult>?, TopLevel?) |
异步显示自定义内容 |
ShowMessageModalAsync |
static Task<object?> ShowMessageModalAsync(Control, object?, MessageBoxOptions?, TopLevel?) |
异步模态显示自定义内容 |
事件
| 事件名 | 类型 | 说明 |
|---|---|---|
Opened |
EventHandler |
弹框打开后触发 |
Closed |
EventHandler |
弹框关闭后触发 |
Cancelled |
EventHandler |
用户取消操作后触发 |
Confirmed |
EventHandler |
用户确认操作后触发 |
MessageBoxOptions record
静态 API 使用的选项配置。
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
HostType |
DialogHostType |
DialogHostType.Overlay |
宿主模式 |
Title |
string? |
null |
弹框标题 |
Icon |
PathIcon? |
null |
自定义图标 |
Style |
MessageBoxStyle |
MessageBoxStyle.Information |
消息样式 |
IsDragMovable |
bool |
false |
是否可拖拽 |
PlacementTarget |
Control? |
null |
放置目标 |
HorizontalOffset |
Dimension? |
null |
水平偏移 |
VerticalOffset |
Dimension? |
null |
垂直偏移 |
IsCenterOnStartup |
bool |
true |
是否居中 |
IsLightDismissEnabled |
bool |
false |
是否轻量关闭 |
IsLoading |
bool |
false |
加载状态 |
IsConfirmLoading |
bool |
false |
确认按钮加载 |
Width |
double |
double.NaN |
弹框宽度 |
Height |
double |
double.NaN |
弹框高度 |
MinWidth |
double |
0 |
最小宽度 |
MinHeight |
double |
0 |
最小高度 |
MaxWidth |
double |
∞ |
最大宽度 |
MaxHeight |
double |
∞ |
最大高度 |
IMessageBoxActionResult 接口
操作结果契约接口。
public interface IMessageBoxActionResult
{
object? Result { get; }
}
常量
MessageBoxThemeConstants(内部)
internal static class MessageBoxThemeConstants
{
public const string DialogPart = "PART_Dialog";
}