mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-19 06:58:57 +08:00
97 lines
3.5 KiB
Markdown
97 lines
3.5 KiB
Markdown
# GroupBox API 参考
|
||
|
||
## 命名空间
|
||
|
||
```csharp
|
||
namespace AtomUI.Desktop.Controls;
|
||
```
|
||
|
||
AXAML 命名空间前缀:`atom`(`xmlns:atom="https://atomui.net"`)
|
||
|
||
---
|
||
|
||
## 枚举类型
|
||
|
||
### GroupBoxTitlePosition
|
||
|
||
标题位置枚举,控制标题在分组框顶部的水平对齐方式。
|
||
|
||
| 值 | 说明 |
|
||
|---|---|
|
||
| `Left` | 标题左对齐(默认) |
|
||
| `Right` | 标题右对齐 |
|
||
| `Center` | 标题居中对齐 |
|
||
|
||
---
|
||
|
||
## 公共属性(StyledProperty)
|
||
|
||
| 属性名 | 类型 | 默认值 | 说明 |
|
||
|---|---|---|---|
|
||
| `HeaderTitle` | `string?` | `null` | 标题文本内容 |
|
||
| `HeaderTitleColor` | `IBrush?` | 由主题控制(`ColorText`) | 标题文本颜色 |
|
||
| `HeaderIcon` | `PathIcon?` | `null` | 标题图标,使用 Ant Design 图标集 |
|
||
| `HeaderTitlePosition` | `GroupBoxTitlePosition` | `GroupBoxTitlePosition.Left` | 标题水平对齐位置 |
|
||
| `HeaderFontSize` | `double` | 由主题控制(`FontSize`) | 标题字体大小 |
|
||
| `HeaderFontStyle` | `FontStyle` | `FontStyle.Normal` | 标题字体风格(Normal / Italic / Oblique) |
|
||
| `HeaderFontWeight` | `FontWeight` | `FontWeight.Normal` | 标题字重 |
|
||
|
||
### 继承自 Avalonia.Controls.ContentControl 的常用属性
|
||
|
||
| 属性名 | 类型 | 默认值 | 说明 |
|
||
|---|---|---|---|
|
||
| `Content` | `object?` | `null` | 分组框内容,可以是任意控件或布局面板 |
|
||
| `ContentTemplate` | `IDataTemplate?` | `null` | 内容数据模板 |
|
||
| `Background` | `IBrush?` | 由主题控制(`ColorBgContainer`) | 背景色(同时用于标题遮挡区域的填充色) |
|
||
| `BorderBrush` | `IBrush?` | 由主题控制(`ColorBorder`) | 边框颜色 |
|
||
| `BorderThickness` | `Thickness` | 由 Token 控制(`BorderThickness`) | 边框粗细 |
|
||
| `CornerRadius` | `CornerRadius` | 由 Token 控制(`BorderRadius`) | 圆角半径 |
|
||
| `Padding` | `Thickness` | 由 Token 控制(`ContentPadding`) | 内容区域内间距 |
|
||
| `IsEnabled` | `bool` | `true` | 是否启用 |
|
||
| `Margin` | `Thickness` | `0` | 外间距 |
|
||
|
||
---
|
||
|
||
## 事件
|
||
|
||
GroupBox 没有定义自定义事件。可使用继承自 `Control` 的标准事件:
|
||
|
||
| 事件名 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| `PointerEntered` | `EventHandler<PointerEventArgs>` | 指针进入控件区域 |
|
||
| `PointerExited` | `EventHandler<PointerEventArgs>` | 指针离开控件区域 |
|
||
| `PointerPressed` | `EventHandler<PointerPressedEventArgs>` | 指针按下 |
|
||
| `PointerReleased` | `EventHandler<PointerReleasedEventArgs>` | 指针释放 |
|
||
|
||
---
|
||
|
||
## 伪类(Pseudo-Classes)
|
||
|
||
GroupBox 没有定义自定义伪类。仅支持继承自基类的标准伪类:
|
||
|
||
| 伪类 | 触发条件 |
|
||
|---|---|
|
||
| `:pointerover` | 鼠标悬浮在 GroupBox 上 |
|
||
| `:disabled` | `IsEnabled == false` |
|
||
| `:focus` | 获得焦点 |
|
||
| `:focus-visible` | 通过键盘(Tab)获得焦点 |
|
||
|
||
---
|
||
|
||
## 实现的接口
|
||
|
||
GroupBox 没有实现 AtomUI 共享接口(如 `ISizeTypeAware`、`IWaveSpiritAwareControl` 等),因为它是一个静态容器控件,不需要尺寸切换、波纹效果等交互特性。
|
||
|
||
---
|
||
|
||
## 关键内部成员
|
||
|
||
以下成员为 `private`,不对外暴露,但有助于理解控件的工作原理:
|
||
|
||
| 成员 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| `_borderRenderHelper` | `BorderRenderHelper` | 边框渲染辅助器,负责绘制带圆角的边框和背景 |
|
||
| `_headerContentContainer` | `Control?` | 标题内容容器引用(`PART_HeaderContent`),用于计算遮挡区域 |
|
||
| `_frame` | `Border?` | 主框架引用(`PART_Frame`),用于布局计算 |
|
||
| `_borderBounds` | `Rect` | 计算后的边框区域(从标题垂直中心到控件底部) |
|