MAUI 中 CheckBox 是支持多选、绑定和样式定制的基础控件;关键属性包括 IsChecked、Text、IsEnabled 及布局选项,推荐 MVVM 绑定与 CheckedChanged 事件处理,自定义需注意平台差异与半选状态限制。

MAUI 中的 CheckBox 是一个基础且常用的表单控件,用于让用户在多个选项中进行多选。它支持绑定、事件响应、样式定制等,用法清晰直接。
基本写法与属性设置
在 XAML 中添加 CheckBox 很简单:
关键属性包括:
-
IsChecked:布尔值,控制是否选中(
true表示勾选) - Text:显示在复选框右侧的标签文字(默认左对齐)
-
IsEnabled:设为
false可禁用该复选框 - HorizontalOptions/VerticalOptions:控制布局位置
绑定数据与响应状态变化
推荐使用 MVVM 模式绑定状态:
在 ViewModel 中定义:
public bool IsNotificationEnabled { get; set; } = true;
XAML 中绑定:
若需监听点击变化,可添加事件处理:
后台代码中:
private void OnCheckBoxChanged(object sender, CheckedChangedEventArgs e) { if (e.Value) { /* 被勾选 */ } else { /* 被取消 */ } }
自定义外观与布局
MAUI 默认复选框在左侧,文字在右侧。如需调整顺序(比如文字在左、框在右),可通过 HorizontalOptions + StackLayout 手动排布,或使用 Grid 控制位置。
改变颜色或大小需通过 VisualStateManager 或自定义渲染器(较重),但更常用的是:
- 用
TextColor改变文字颜色 - 用
Scale属性临时放大整个控件(如Scale="1.2") - 配合
Style统一管理多个 CheckBox 的外观
常见注意事项
注意几个容易忽略的点:
- CheckBox 没有原生的“半选中”(indeterminate)状态,如需实现,得靠自定义渲染器或换用
Switch+ 文案组合模拟 - 在 CollectionView 中动态生成 CheckBox 时,确保绑定的属性是
INotifyPropertyChanged实现的,否则 UI 不会响应变化 - Android/iOS/macOS 渲染略有差异,测试时建议真机验证视觉和点击区域
基本上就这些。不复杂但容易忽略绑定更新和平台适配细节。










