Implementing .NET MAUI Picker (SfPicker)
The Syncfusion .NET MAUI Picker (SfPicker) control allows users to select items from a customizable picker interface with support for multiple columns, different display modes, and extensive customization options. It's ideal for implementing date pickers, time pickers, color pickers, country pickers, and any scenario requiring item selection from a scrollable list.
When to Use This Skill
Use this skill when you need to:
- Implement item selection interfaces in .NET MAUI applications using Syncfusion Picker
- Create custom pickers such as date pickers, time pickers, color pickers, or country pickers
- Display picker controls in Default, Dialog, or RelativeDialog modes
- Configure multi-column pickers for complex data selection scenarios
- Customize picker appearance including headers, footers, selection views, and column headers
- Bind data to picker columns using ItemsSource and ObservableCollection
- Handle picker events such as SelectionChanged, OkButtonClicked, or CancelButtonClicked
- Implement accessibility features for picker controls
- Localize picker content for multi-language support
- Apply advanced features like looping, item templates, or liquid glass effects
Component Overview
The .NET MAUI Picker (SfPicker) provides:
- Multiple display modes: Default (inline), Dialog (popup), and RelativeDialog (positioned popup)
- Multi-column support: Display multiple columns with independent data sources
- Customizable views: Header, footer, selection view, and column headers
- Rich data binding: Support for simple collections and complex objects
- Event-driven architecture: Events and commands for user interactions
- Accessibility support: WCAG compliance and screen reader compatibility
- Localization: Multi-language and culture-specific formatting
- Advanced customization: Item templates, styling, and visual effects
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
When the user needs to:
- Install and set up the Syncfusion .NET MAUI Picker
- Add the NuGet package (Syncfusion.Maui.Picker)
- Register the Syncfusion handler (ConfigureSyncfusionCore)
- Create a basic picker implementation in XAML or C#
- Set initial height and width properties
Picker Modes and Display
📄 Read: references/picker-modes.md
When the user needs to:
- Choose between Default, Dialog, or RelativeDialog modes
- Display picker as a popup dialog
- Position picker relative to specific UI elements
- Configure RelativePosition options (AlignTop, AlignTopLeft, AlignBottomRight, etc.)
- Set RelativeView for custom positioning
- Control popup size with PopupWidth and PopupHeight
- Programmatically open/close picker using IsOpen property
Column Configuration
📄 Read: references/columns.md
When the user needs to:
- Add single or multiple columns to the picker
- Use DisplayMemberPath for displaying specific object properties
- Customize column width
- Set SelectedIndex and SelectedItem properties
- Bind ItemsSource to data collections
- Configure column divider color for multi-column pickers
- Manage dynamic column addition and removal
Header, Footer, and Selection Views
📄 Read: references/header-footer-selection.md
When the user needs to:
- Add and customize header view (PickerHeaderView)
- Set header text and height
- Configure footer view with OK and Cancel buttons
- Enable/disable ShowOkButton property
- Customize footer button text (OkButtonText, CancelButtonText)
- Style selection view appearance
- Use IsSelectionImmediate for instant selection updates
Column Headers
📄 Read: references/column-headers.md
When the user needs to:
- Add column header view (PickerColumnHeaderView)
- Set HeaderText property for individual columns
- Configure column header height
- Customize column header styling
- Implement multi-column header layouts
Populating Items and Data Binding
📄 Read: references/populating-items.md
When the user needs to:
- Bind ItemsSource to ObservableCollection
- Create and populate data sources
- Configure binding context in XAML and C#
- Bind complex objects with custom properties
- Handle dynamic data updates and refreshes
- Implement MVVM data binding patterns
Events and Commands
📄 Read: references/events-commands.md
When the user needs to:
- Handle Opened, Closing, and Closed events
- Respond to SelectionChanged events
- Process OkButtonClicked and CancelButtonClicked events
- Use SelectionChangedCommand with MVVM
- Implement AcceptCommand and DeclineCommand
- Access event arguments and parameters
- Cancel picker closing with Closing event
Customization and Styling
📄 Read: references/customization.md
When the user needs to:
- Apply item templates for custom item appearance
- Customize visual styling (colors, fonts, backgrounds)
- Configure text styles and formatting
- Implement visual states
- Apply custom themes and styles
Accessibility
📄 Read: references/accessibility.md
When the user needs to:
- Ensure WCAG compliance
- Implement keyboard navigation support
- Configure screen reader compatibility
- Add ARIA attributes for accessibility
- Manage focus behavior
- Follow accessibility best practices
Localization
📄 Read: references/localization.md
When the user needs to:
- Implement multi-language support
- Set up resource files for localization
- Configure culture-specific formatting
- Handle right-to-left (RTL) languages
Advanced Features
📄 Read: references/advanced-features.md
When the user needs to:
- Enable looping (circular scrolling)
- Configure picker text display modes
- Implement data template selectors
- Apply liquid glass effects
- Optimize picker performance
- Handle complex custom scenarios
- Troubleshoot edge cases
1---2name: syncfusion-maui-picker3description: Implements Syncfusion .NET MAUI Picker (SfPicker) control. Use when working with picker controls, item pickers, selection pickers, multi-column pickers, or dialog pickers in .NET MAUI applications. This skill covers installation, configuration, modes (Default, Dialog, RelativeDialog), header/footer customization, column handling, data binding, events, and accessibility.4---5
6# Implementing .NET MAUI Picker (SfPicker)
7
8The Syncfusion .NET MAUI Picker (SfPicker) control allows users to select items from a customizable picker interface with support for multiple columns, different display modes, and extensive customization options. It's ideal for implementing date pickers, time pickers, color pickers, country pickers, and any scenario requiring item selection from a scrollable list.
9
10## When to Use This Skill
11
12Use this skill when you need to:
13
14- **Implement item selection interfaces** in .NET MAUI applications using Syncfusion Picker
15- **Create custom pickers** such as date pickers, time pickers, color pickers, or country pickers
16- **Display picker controls** in Default, Dialog, or RelativeDialog modes
17- **Configure multi-column pickers** for complex data selection scenarios
18- **Customize picker appearance** including headers, footers, selection views, and column headers
19- **Bind data** to picker columns using ItemsSource and ObservableCollection
20- **Handle picker events** such as SelectionChanged, OkButtonClicked, or CancelButtonClicked
21- **Implement accessibility features** for picker controls
22- **Localize picker content** for multi-language support
23- **Apply advanced features** like looping, item templates, or liquid glass effects
24
25## Component Overview
26
27The .NET MAUI Picker (SfPicker) provides:
28
29- **Multiple display modes**: Default (inline), Dialog (popup), and RelativeDialog (positioned popup)
30- **Multi-column support**: Display multiple columns with independent data sources
31- **Customizable views**: Header, footer, selection view, and column headers
32- **Rich data binding**: Support for simple collections and complex objects
33- **Event-driven architecture**: Events and commands for user interactions
34- **Accessibility support**: WCAG compliance and screen reader compatibility
35- **Localization**: Multi-language and culture-specific formatting
36- **Advanced customization**: Item templates, styling, and visual effects
37
38## Documentation and Navigation Guide
39
40### Getting Started
41📄 **Read:** [references/getting-started.md](references/getting-started.md)
42
43When the user needs to:
44- Install and set up the Syncfusion .NET MAUI Picker
45- Add the NuGet package (Syncfusion.Maui.Picker)
46- Register the Syncfusion handler (ConfigureSyncfusionCore)
47- Create a basic picker implementation in XAML or C#
48- Set initial height and width properties
49
50### Picker Modes and Display
51📄 **Read:** [references/picker-modes.md](references/picker-modes.md)
52
53When the user needs to:
54- Choose between Default, Dialog, or RelativeDialog modes
55- Display picker as a popup dialog
56- Position picker relative to specific UI elements
57- Configure RelativePosition options (AlignTop, AlignTopLeft, AlignBottomRight, etc.)
58- Set RelativeView for custom positioning
59- Control popup size with PopupWidth and PopupHeight
60- Programmatically open/close picker using IsOpen property
61
62### Column Configuration
63📄 **Read:** [references/columns.md](references/columns.md)
64
65When the user needs to:
66- Add single or multiple columns to the picker
67- Use DisplayMemberPath for displaying specific object properties
68- Customize column width
69- Set SelectedIndex and SelectedItem properties
70- Bind ItemsSource to data collections
71- Configure column divider color for multi-column pickers
72- Manage dynamic column addition and removal
73
74### Header, Footer, and Selection Views
75📄 **Read:** [references/header-footer-selection.md](references/header-footer-selection.md)
76
77When the user needs to:
78- Add and customize header view (PickerHeaderView)
79- Set header text and height
80- Configure footer view with OK and Cancel buttons
81- Enable/disable ShowOkButton property
82- Customize footer button text (OkButtonText, CancelButtonText)
83- Style selection view appearance
84- Use IsSelectionImmediate for instant selection updates
85
86### Column Headers
87📄 **Read:** [references/column-headers.md](references/column-headers.md)
88
89When the user needs to:
90- Add column header view (PickerColumnHeaderView)
91- Set HeaderText property for individual columns
92- Configure column header height
93- Customize column header styling
94- Implement multi-column header layouts
95
96### Populating Items and Data Binding
97📄 **Read:** [references/populating-items.md](references/populating-items.md)
98
99When the user needs to:
100- Bind ItemsSource to ObservableCollection
101- Create and populate data sources
102- Configure binding context in XAML and C#
103- Bind complex objects with custom properties
104- Handle dynamic data updates and refreshes
105- Implement MVVM data binding patterns
106
107### Events and Commands
108📄 **Read:** [references/events-commands.md](references/events-commands.md)
109
110When the user needs to:
111- Handle Opened, Closing, and Closed events
112- Respond to SelectionChanged events
113- Process OkButtonClicked and CancelButtonClicked events
114- Use SelectionChangedCommand with MVVM
115- Implement AcceptCommand and DeclineCommand
116- Access event arguments and parameters
117- Cancel picker closing with Closing event
118
119### Customization and Styling
120📄 **Read:** [references/customization.md](references/customization.md)
121
122When the user needs to:
123- Apply item templates for custom item appearance
124- Customize visual styling (colors, fonts, backgrounds)
125- Configure text styles and formatting
126- Implement visual states
127- Apply custom themes and styles
128
129### Accessibility
130📄 **Read:** [references/accessibility.md](references/accessibility.md)
131
132When the user needs to:
133- Ensure WCAG compliance
134- Implement keyboard navigation support
135- Configure screen reader compatibility
136- Add ARIA attributes for accessibility
137- Manage focus behavior
138- Follow accessibility best practices
139
140### Localization
141📄 **Read:** [references/localization.md](references/localization.md)
142
143When the user needs to:
144- Implement multi-language support
145- Set up resource files for localization
146- Configure culture-specific formatting
147- Handle right-to-left (RTL) languages
148
149### Advanced Features
150📄 **Read:** [references/advanced-features.md](references/advanced-features.md)
151
152When the user needs to:
153- Enable looping (circular scrolling)
154- Configure picker text display modes
155- Implement data template selectors
156- Apply liquid glass effects
157- Optimize picker performance
158- Handle complex custom scenarios
159- Troubleshoot edge cases
160