mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-21 08:32:21 +08:00
2.4 KiB
2.4 KiB
Switch 自定义样式指南
ToggleSwitch 的视觉表现通过 ControlTheme + Design Token 系统控制。以下介绍常见的自定义方式。
📖 ToggleSwitch 在 Gallery 中的使用示例可参考
controlgallery/AtomUIGallery/ShowCases/Views/Feedback/DrawerShowCase.axaml等多个演示页面。
1. 通过属性直接控制
<!-- 基本开关 -->
<atom:ToggleSwitch />
<!-- 默认开启 -->
<atom:ToggleSwitch IsChecked="True" />
<!-- 不同尺寸 -->
<atom:ToggleSwitch SizeType="Middle" />
<atom:ToggleSwitch SizeType="Small" />
<!-- 带文字 -->
<atom:ToggleSwitch OnContent="开" OffContent="关" />
<!-- 带图标 -->
<atom:ToggleSwitch
OnContent="{antdicons:AntDesignIconProvider Kind=CheckOutlined}"
OffContent="{antdicons:AntDesignIconProvider Kind=CloseOutlined}" />
<!-- 加载中 -->
<atom:ToggleSwitch IsLoading="True" />
<!-- 禁用 -->
<atom:ToggleSwitch IsEnabled="False" />
2. 通过 Style 覆盖
全局统一间距
<Window.Styles>
<Style Selector="atom|ToggleSwitch">
<Setter Property="Margin" Value="0,0,8,0" />
</Style>
</Window.Styles>
按状态定制
<!-- 选中时使用绿色 -->
<Style Selector="atom|ToggleSwitch:checked">
<Setter Property="GrooveBackground" Value="Green" />
</Style>
3. 控制动画行为
<!-- 禁用滑块过渡动画 -->
<atom:ToggleSwitch IsMotionEnabled="False" />
<!-- 禁用切换波纹 -->
<atom:ToggleSwitch IsWaveSpiritEnabled="False" />
样式选择器速查
说明:AXAML 中使用
atom|ToggleSwitch引用开关控件。
基础选择器
| 选择器 | 说明 |
|---|---|
atom|ToggleSwitch |
匹配所有 ToggleSwitch 实例 |
按状态伪类选择
| 选择器 | 说明 |
|---|---|
atom|ToggleSwitch:checked |
开启状态 |
atom|ToggleSwitch:unchecked |
关闭状态 |
atom|ToggleSwitch:pointerover |
鼠标悬浮 |
atom|ToggleSwitch:pressed |
按下 |
atom|ToggleSwitch:disabled |
禁用 |
按属性选择
| 选择器 | 说明 |
|---|---|
atom|ToggleSwitch[SizeType=Small] |
小号开关 |
atom|ToggleSwitch[IsLoading=True] |
加载中的开关 |
组合选择器示例
| 选择器 | 说明 |
|---|---|
atom|ToggleSwitch:checked:not(:disabled) |
非禁用的开启状态开关 |
atom|ToggleSwitch[SizeType=Small]:checked |
小号 + 开启态 |