MAUI 中 Picker 即为下拉选择框,跨平台呈现为下拉列表或弹出选择器;支持数据绑定、显示/值分离、平台微调,是覆盖 90% 场景的首选控件。

MAUI 中没有叫“下拉选择框”的原生控件,但 Picker 就是你要的——它在不同平台呈现为下拉列表(Android/iOS)或弹出选择器(Windows),语义和功能完全对应。
Picker 基础用法:绑定数据 + 响应选中
Picker 是最轻量、最常用的单选选择控件。只需设置 ItemsSource(数据源)和 SelectedItem(当前选中项),再监听 SelectedItemChanged 事件即可。
- 在 XAML 中声明:
- 在 ViewModel 中准备集合:public ObservableCollection
Cities { get; } = new() { "北京", "上海", "广州", "深圳" }; - 绑定 SelectedItem 并响应变化:public string SelectedCity { get; set; },配合 INotifyPropertyChanged 或使用 CommunityToolkit.Mvvm 的 [ObservableProperty]
自定义显示文本与值(Value/DisplayText 分离)
实际开发中常需显示名称(如“北京市”),但提交 ID(如 "110000")。Picker 本身不直接支持 ValueMember/DisplayMember,但可通过对象绑定实现:
- 定义一个简单类:public class City { public string Name { get; set; } = ""; public string Code { get; set; } = ""; }
- ItemsSource 绑定 ObservableCollection
,然后用 ItemDisplayBinding="{Binding Name}" 指定显示字段 - SelectedItem 是 City 对象,可直接取 SelectedCity.Code 获取值
Platform-specific 行为微调(可选)
Picker 在各平台默认行为合理,但若需定制,可用平台特定代码:
标签: android windows ios win microsoft 上海
还木有评论哦,快来抢沙发吧~