Files

4.2 KiB
Raw Permalink Blame History

Carousel API 参考

命名空间

namespace AtomUI.Desktop.Controls;

AXAML 命名空间前缀:atom(xmlns:atom="https://atomui.net")


枚举类型

CarouselPaginationPosition

分页指示器位置枚举。

值 说明
Top 顶部居中
Bottom 底部居中(默认)
Left 左侧居中(指示器旋转 90°)
Right 右侧居中(指示器旋转 90°)

CarouselTransitionEffect

页面过渡效果枚举。

值 说明
Scroll 滑动切换(默认),方向跟随 PaginationPosition
Fade 淡入淡出切换

属性名 类型 默认值 说明
IsShowNavButtons bool false 是否显示导航箭头按钮
IsAutoPlay bool false 是否自动播放
AutoPlaySpeed TimeSpan 3000ms 自动播放间隔时间
PaginationPosition CarouselPaginationPosition Bottom 分页指示器位置
IsShowPagination bool true 是否显示分页指示器
IsShowTransitionProgress bool false 是否在指示点上显示播放进度条
IsInfinite bool true 是否无限循环
PageTransitionDuration TimeSpan MotionDurationSlow(Token) 页面过渡动画时长
PageInEasing Easing CubicEaseOut 页面进入缓动函数
PageOutEasing Easing CubicEaseOut 页面离开缓动函数
TransitionEffect CarouselTransitionEffect Scroll 过渡效果类型
IsMotionEnabled bool 跟随全局 Token(EnableMotion) 是否启用过渡动画(共享属性)
IsSwipeEnabled bool false 是否启用滑动手势切换

继承自 SelectingItemsControl 的常用属性

属性名 类型 默认值 说明
SelectedIndex int 0 当前选中页索引
SelectedItem object? null 当前选中页对象
ItemCount int (只读) 页面总数
Items ItemCollection 空 子项集合
ItemsSource IEnumerable? null 数据源(用于数据绑定)
ItemTemplate IDataTemplate? null 子项模板
Background IBrush? null 背景色
Foreground IBrush? null 前景色
Padding Thickness 0 内间距

公共方法

方法名 返回值 说明
Next() void 切换到下一页。无限循环模式下,末尾页切换到首页
Previous() void 切换到上一页。无限循环模式下,首页切换到末尾页

伪类(Pseudo-Classes)

Carousel 本身没有定义额外的自定义伪类。

继承的标准伪类

伪类 触发条件
:pointerover 鼠标悬浮
:disabled IsEnabled == false

实现的接口

IMotionAwareControl

public bool IsMotionEnabled { get; set; }

控制指示点宽度过渡动画和导航按钮不透明度过渡动画。


CarouselPage API

走马灯页面容器,继承自 ContentControl。无额外属性定义。

namespace AtomUI.Desktop.Controls;
public class CarouselPage : ContentControl

继承的常用属性

属性名 类型 默认值 说明
Content object? null 页面内容
ContentTemplate IDataTemplate? null 内容模板
Background IBrush? null 页面背景色
HorizontalContentAlignment HorizontalAlignment Stretch 内容水平对齐
VerticalContentAlignment VerticalAlignment Stretch 内容垂直对齐

CarouselNavButton API

导航箭头按钮,继承自 IconButton。添加了 Opacity 的过渡动画。

namespace AtomUI.Desktop.Controls;
public class CarouselNavButton : IconButton

主题默认样式

属性 值 说明
IconWidth / IconHeight ArrowSize(Token) 箭头图标大小
IconBrush ColorBgContainer 箭头图标颜色(白色系)
Opacity 0.2 → :pointerover 时变为 1.0 默认半透明,悬浮时完全显示