mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-19 23:30:44 +08:00
3.2 KiB
3.2 KiB
TextBlock API 参考
命名空间
namespace AtomUI.Desktop.Controls;
AXAML 命名空间前缀:atom(xmlns:atom="https://atomui.net")
公共属性
AtomUI TextBlock 扩展属性
AtomUI 的 TextBlock 没有定义额外的 StyledProperty,其扩展能力完全通过 IFormItemAware 接口实现。所有视觉属性均继承自 Avalonia 的 TextBlock。
继承自 Avalonia.Controls.TextBlock 的常用属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Text |
string? |
null |
要显示的文本字符串 |
TextWrapping |
TextWrapping |
NoWrap |
文本换行模式(NoWrap / Wrap / WrapWithOverflow) |
TextTrimming |
TextTrimming |
None |
文本裁剪模式(None / CharacterEllipsis / WordEllipsis) |
TextAlignment |
TextAlignment |
Left |
文本对齐方式(Left / Center / Right / Justify) |
TextDecorations |
TextDecorationCollection? |
null |
文本装饰(下划线、删除线等) |
FontSize |
double |
由全局样式控制 | 字体大小 |
FontWeight |
FontWeight |
Normal |
字体粗细 |
FontStyle |
FontStyle |
Normal(AtomUI 覆盖) |
字体样式(Normal / Italic / Oblique) |
FontFamily |
FontFamily |
由全局样式控制 | 字体族 |
Foreground |
IBrush? |
由全局样式控制 | 文本前景色 |
Background |
IBrush? |
null |
控件背景色 |
LineHeight |
double |
NaN |
行高 |
MaxLines |
int |
0(无限制) |
最大显示行数 |
Inlines |
InlineCollection? |
null |
内联元素集合,用于富文本排版 |
Padding |
Thickness |
0 |
内间距 |
事件
AtomUI TextBlock 没有定义额外的公共事件。IFormItemAware.ValueChanged 事件通过显式接口实现,仅供 Form 系统内部使用。
伪类(Pseudo-Classes)
TextBlock 不定义额外的伪类。继承的标准伪类:
| 伪类 | 触发条件 |
|---|---|
:pointerover |
鼠标悬浮 |
:disabled |
IsEnabled == false |
实现的接口
IFormItemAware
TextBlock 通过显式接口实现 IFormItemAware,使其能参与 Form 表单系统:
void IFormItemAware.SetFormValue(object? value); // 设置 Text
object? IFormItemAware.GetFormValue(); // 获取 Text
void IFormItemAware.ClearFormValue(); // 清空 Text
void IFormItemAware.NotifyValidateStatus(FormValidateStatus status); // 接收验证状态
event EventHandler? IFormItemAware.ValueChanged; // Text 变化时通知
行为说明:
SetFormValue将传入值转为string后设置到Text属性GetFormValue直接返回Text属性值ClearFormValue将Text设置为nullValueChanged在Text属性变化时自动触发NotifyValidateStatus当前为空实现,预留未来扩展
与 Avalonia TextBlock 的行为差异
| 行为 | Avalonia TextBlock | AtomUI TextBlock |
|---|---|---|
ClipToBounds 默认值 |
true |
false(通过构造函数中的 Style 设置) |
FontStyle 默认值 |
继承自父控件 | Normal(显式覆盖) |
| Form 集成 | ❌ 不支持 | ✅ IFormItemAware |