Files

4.1 KiB
Raw Permalink Blame History

Dialog Design Token

Dialog 控件使用 DialogToken(Token ID: "Dialog")作为组件级 Design Token,所有视觉属性均从全局 SharedToken 派生,不硬编码任何具体值。


Token 资源访问方式

在 AXAML 中使用组件级 Token:

{atom:TokenResource DialogHeaderBg}
{atom:TokenResource DialogContentBg}
{atom:TokenResource DialogHeaderFontSize}

在 AXAML 中使用全局共享 Token:

{atom:SharedTokenResource ColorBgElevated}
{atom:SharedTokenResource FontSizeHeading5}
{atom:SharedTokenResource PaddingContentHorizontalLG}

组件级 Token 一览

以下是 DialogToken 定义的全部组件级 Token,按功能分组说明。

颜色 Token

Token 名 类型 来源 说明
HeaderBg Color Colors.Transparent 标题区域背景色
HeaderColor Color SharedToken.ColorTextHeading 标题字体颜色
ContentBg Color SharedToken.ColorBgElevated 内容区域背景色
FooterBg Color Colors.Transparent 底部区域背景色

字体 Token

Token 名 类型 来源 说明
HeaderFontSize double SharedToken.FontSizeHeading5 标题字体大小

图标 Token

Token 名 类型 来源 说明
LogoSize double SharedToken.SizeLG Overlay 对话框标题图标大小
CloseBtnSize double SharedToken.ControlHeight 关闭按钮大小

间距 Token

Token 名 类型 来源 说明
HeaderPadding Thickness 基于 SharedToken.PaddingContentHorizontalLG 和 SharedToken.UniformlyPaddingSM 标题区域内间距
HeaderMarginBottom Thickness 基于 SharedToken.UniformlyMarginXS 标题区域下外间距
ContentPadding Thickness 基于 SharedToken.PaddingContentHorizontalLG 和 SharedToken.UniformlyPaddingMD 内容区域内间距
FooterPadding Thickness 基于 SharedToken.PaddingContentHorizontalLG 和 SharedToken.UniformlyPaddingMD 底部区域内间距
FooterMarginTop Thickness 基于 SharedToken.UniformlyMarginXS 底部区域上外间距
ButtonGroupSpacing double SharedToken.SpacingXS 底部按钮之间的间距

尺寸 Token

Token 名 类型 来源 说明
MinHeight double 基于 SharedToken.ControlHeightLG + HeaderPadding 计算 对话框默认最小高度
MinWidth double 固定 200 对话框默认最小宽度

主题中使用的全局 SharedToken

除组件级 Token 外,Dialog 的 ControlTheme 还直接引用了以下全局 SharedToken:

Token 资源键 使用场景
ColorBgElevated 对话框整体背景色
ColorTextHeading 标题文字颜色
FontSizeHeading5 标题字号
PaddingContentHorizontalLG 水平内间距基准
PaddingContentHorizontalSM 标题右侧内间距
UniformlyPaddingSM / UniformlyPaddingMD 垂直内间距
UniformlyMarginXS 标题/底部间距
SizeLG 图标大小
ControlHeight / ControlHeightLG 控件高度基准
SpacingXS 按钮间距
ColorBgMask Overlay 模式遮罩层背景色
BorderRadiusLG 对话框圆角
BoxShadowsSecondary 对话框阴影

Token 对外观的具体影响

标题区域

  • 背景色由 HeaderBg(默认透明)控制
  • 字体大小由 HeaderFontSize 控制
  • 字体颜色由 HeaderColor 控制
  • 图标大小由 LogoSize 控制
  • 内间距由 HeaderPadding 控制
  • 与内容区域间隔由 HeaderMarginBottom 控制

内容区域

  • 背景色由 ContentBg 控制
  • 内间距由 ContentPadding 控制

底部按钮区域

  • 背景色由 FooterBg(默认透明)控制
  • 内间距由 FooterPadding 控制
  • 与内容区域间隔由 FooterMarginTop 控制
  • 按钮间距由 ButtonGroupSpacing 控制

整体尺寸约束

  • 最小宽度由 MinWidth(200px)控制
  • 最小高度由 MinHeight(从 HeaderPadding + ControlHeightLG 派生)控制