Implementing Syncfusion .NET MAUI TimePicker
The Syncfusion .NET MAUI TimePicker (SfTimePicker) is a powerful control that allows users to select time values through an intuitive scrollable interface. It supports multiple time formats, customizable intervals, dialog modes, time restrictions, and extensive styling options.
When to Use This Skill
Use this skill when you need to:
- Implement time selection in .NET MAUI applications
- Add SfTimePicker controls to XAML or C# code
- Configure time formats (12/24 hour, with/without seconds, milliseconds)
- Set up dialog or positioned picker modes
- Define hour/minute/second intervals for time selection
- Restrict selectable times (business hours, appointment slots, blocked times)
- Handle time selection events or use MVVM commands
- Customize picker appearance (header, footer, selection view, text display)
- Implement accessible or localized time pickers
- Troubleshoot TimePicker configuration or behavior issues
Component Overview
The SfTimePicker provides:
- 14 predefined time formats supporting 12/24-hour formats with hours, minutes, seconds, and milliseconds
- Three picker modes: Default (inline), Dialog (popup), and RelativeDialog (positioned popup)
- Time intervals for hours, minutes, seconds, and milliseconds
- Time restrictions including minimum/maximum time and blackout times
- Looping support for seamless navigation between first and last items
- Rich event system with selection changes, dialog lifecycle, and footer button events
- MVVM support through commands (SelectionChangedCommand, AcceptCommand, DeclineCommand)
- Extensive customization for header, footer, column headers, selection view, and text display modes
- Accessibility and localization support for global applications
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
When to read: Setting up TimePicker for the first time, installation, basic implementation.
Coverage:
- NuGet package installation (Syncfusion.Maui.Picker)
- Handler registration (ConfigureSyncfusionCore in MauiProgram.cs)
- Basic SfTimePicker initialization (XAML and C#)
- Setting header and footer views
- Configuring height and width
- Using SelectedTime property
- Clear selection support
Time Formatting
📄 Read: references/formatting.md
When to read: Configuring how time is displayed (12/24 hour, including/excluding seconds, milliseconds).
Coverage:
- Format property overview
- 14 predefined time formats:
H_mm, H_mm_ss (24-hour without leading zero)
HH_mm, HH_mm_ss, HH_mm_ss_fff (24-hour with leading zero)
h_mm_tt, h_mm_ss_tt (12-hour without leading zero + AM/PM)
hh_mm_tt, hh_mm_ss_tt, hh_mm_ss_fff_tt, hh_tt (12-hour with leading zero + AM/PM)
mm_ss, mm_ss_fff, ss_fff (minute/second combinations)
Default (culture-based format)
- Format usage examples and switching between formats
Picker Modes and Display
📄 Read: references/picker-modes.md
When to read: Configuring how the picker is displayed (inline, popup dialog, positioned dialog).
Coverage:
- Mode property (Default, Dialog, RelativeDialog)
- Dialog mode configuration
- IsOpen property for programmatic picker control
- RelativeDialog mode for positioned popups
- RelativePosition options (8 alignment positions):
- AlignTop, AlignBottom, AlignToLeftOf, AlignToRightOf
- AlignTopLeft, AlignTopRight, AlignBottomLeft, AlignBottomRight
- RelativeView property for positioning relative to specific controls
- Custom popup size (PopupWidth, PopupHeight properties)
- Code examples for each mode
Time Intervals and Looping
📄 Read: references/time-intervals-looping.md
When to read: Setting intervals between time values or enabling continuous looping.
Coverage:
- HourInterval property (e.g., show every 2 hours)
- MinuteInterval property (e.g., show every 5, 10, 15 minutes)
- SecondInterval property (e.g., show every 10 seconds)
- MilliSecondInterval property for precise time selection
- EnableLooping property for seamless first ↔ last item navigation
- Combining intervals with different time formats
- Practical scenarios (appointment booking, time tracking)
Time Restrictions
📄 Read: references/time-restrictions.md
When to read: Limiting selectable times (business hours, min/max ranges, blocked times).
Coverage:
- MinimumTime property to set earliest selectable time
- MaximumTime property to set latest selectable time
- BlackoutTimes collection to disable specific times
- Time range validation rules
- Use cases (business hours: 9 AM - 5 PM, appointment slots, blocked lunch hours)
- Combining restrictions with formats and intervals
Events and Commands
📄 Read: references/events-commands.md
When to read: Handling time selection changes, dialog lifecycle, or using MVVM commands.
Coverage:
- SelectionChanged event
- TimePickerSelectionChangedEventArgs with NewValue and OldValue
- IsSelectionImmediate behavior (immediate vs deferred selection)
- Dialog mode events:
- Opened event (when picker opens)
- Closing event with CancelEventArgs (can cancel closing)
- Closed event (after picker closes)
- Footer view events:
- OkButtonClicked event
- CancelButtonClicked event
- MVVM Commands:
- SelectionChangedCommand
- AcceptCommand (OK button)
- DeclineCommand (Cancel button)
- Event usage patterns and best practices
Customization and Styling
📄 Read: references/customization.md
When to read: Customizing picker appearance (colors, fonts, header/footer, visual effects).
Coverage:
- Header view customization
- Text, Height, Background, TextStyle properties
- Footer view customization
- OkButtonText, CancelButtonText
- ShowOkButton, Height, Background, TextStyle
- Column header view customization
- Text, Height, TextStyle per column
- Selection view customization
- Background, Stroke, StrokeThickness, CornerRadius, TextStyle
- TextDisplayMode options:
- Default, Fade, Shrink, FadeAndShrink
- Liquid glass effect for modern UI
- Item text styling
- Complete customization examples
Accessibility and Localization
📄 Read: references/accessibility-localization.md
When to read: Implementing accessible controls or supporting multiple languages/cultures.
Coverage:
- WCAG compliance features
- Screen reader support
- Keyboard navigation
- Semantic properties for accessibility
- Localization configuration
- Culture-specific time formatting
- RTL (right-to-left) language support
- Multi-language implementation examples
1---2name: syncfusion-maui-time-picker3description: Implements Syncfusion .NET MAUI TimePicker (SfTimePicker) control. Use when implementing time selection, time picker controls, or time input UI in .NET MAUI. This skill covers installation, configuration, time formats (14 predefined formats), picker modes (Dialog/RelativeDialog), intervals, time restrictions, looping, events, and customization.4---5
6# Implementing Syncfusion .NET MAUI TimePicker
7
8The Syncfusion .NET MAUI TimePicker (SfTimePicker) is a powerful control that allows users to select time values through an intuitive scrollable interface. It supports multiple time formats, customizable intervals, dialog modes, time restrictions, and extensive styling options.
9
10## When to Use This Skill
11
12Use this skill when you need to:
13- Implement time selection in .NET MAUI applications
14- Add SfTimePicker controls to XAML or C# code
15- Configure time formats (12/24 hour, with/without seconds, milliseconds)
16- Set up dialog or positioned picker modes
17- Define hour/minute/second intervals for time selection
18- Restrict selectable times (business hours, appointment slots, blocked times)
19- Handle time selection events or use MVVM commands
20- Customize picker appearance (header, footer, selection view, text display)
21- Implement accessible or localized time pickers
22- Troubleshoot TimePicker configuration or behavior issues
23
24## Component Overview
25
26The SfTimePicker provides:
27- **14 predefined time formats** supporting 12/24-hour formats with hours, minutes, seconds, and milliseconds
28- **Three picker modes**: Default (inline), Dialog (popup), and RelativeDialog (positioned popup)
29- **Time intervals** for hours, minutes, seconds, and milliseconds
30- **Time restrictions** including minimum/maximum time and blackout times
31- **Looping support** for seamless navigation between first and last items
32- **Rich event system** with selection changes, dialog lifecycle, and footer button events
33- **MVVM support** through commands (SelectionChangedCommand, AcceptCommand, DeclineCommand)
34- **Extensive customization** for header, footer, column headers, selection view, and text display modes
35- **Accessibility** and localization support for global applications
36
37## Documentation and Navigation Guide
38
39### Getting Started
40📄 **Read:** [references/getting-started.md](references/getting-started.md)
41
42**When to read:** Setting up TimePicker for the first time, installation, basic implementation.
43
44**Coverage:**
45- NuGet package installation (Syncfusion.Maui.Picker)
46- Handler registration (ConfigureSyncfusionCore in MauiProgram.cs)
47- Basic SfTimePicker initialization (XAML and C#)
48- Setting header and footer views
49- Configuring height and width
50- Using SelectedTime property
51- Clear selection support
52
53### Time Formatting
54📄 **Read:** [references/formatting.md](references/formatting.md)
55
56**When to read:** Configuring how time is displayed (12/24 hour, including/excluding seconds, milliseconds).
57
58**Coverage:**
59- Format property overview
60- 14 predefined time formats:
61 - `H_mm`, `H_mm_ss` (24-hour without leading zero)
62 - `HH_mm`, `HH_mm_ss`, `HH_mm_ss_fff` (24-hour with leading zero)
63 - `h_mm_tt`, `h_mm_ss_tt` (12-hour without leading zero + AM/PM)
64 - `hh_mm_tt`, `hh_mm_ss_tt`, `hh_mm_ss_fff_tt`, `hh_tt` (12-hour with leading zero + AM/PM)
65 - `mm_ss`, `mm_ss_fff`, `ss_fff` (minute/second combinations)
66 - `Default` (culture-based format)
67- Format usage examples and switching between formats
68
69### Picker Modes and Display
70📄 **Read:** [references/picker-modes.md](references/picker-modes.md)
71
72**When to read:** Configuring how the picker is displayed (inline, popup dialog, positioned dialog).
73
74**Coverage:**
75- Mode property (Default, Dialog, RelativeDialog)
76- Dialog mode configuration
77- IsOpen property for programmatic picker control
78- RelativeDialog mode for positioned popups
79- RelativePosition options (8 alignment positions):
80 - AlignTop, AlignBottom, AlignToLeftOf, AlignToRightOf
81 - AlignTopLeft, AlignTopRight, AlignBottomLeft, AlignBottomRight
82- RelativeView property for positioning relative to specific controls
83- Custom popup size (PopupWidth, PopupHeight properties)
84- Code examples for each mode
85
86### Time Intervals and Looping
87📄 **Read:** [references/time-intervals-looping.md](references/time-intervals-looping.md)
88
89**When to read:** Setting intervals between time values or enabling continuous looping.
90
91**Coverage:**
92- HourInterval property (e.g., show every 2 hours)
93- MinuteInterval property (e.g., show every 5, 10, 15 minutes)
94- SecondInterval property (e.g., show every 10 seconds)
95- MilliSecondInterval property for precise time selection
96- EnableLooping property for seamless first ↔ last item navigation
97- Combining intervals with different time formats
98- Practical scenarios (appointment booking, time tracking)
99
100### Time Restrictions
101📄 **Read:** [references/time-restrictions.md](references/time-restrictions.md)
102
103**When to read:** Limiting selectable times (business hours, min/max ranges, blocked times).
104
105**Coverage:**
106- MinimumTime property to set earliest selectable time
107- MaximumTime property to set latest selectable time
108- BlackoutTimes collection to disable specific times
109- Time range validation rules
110- Use cases (business hours: 9 AM - 5 PM, appointment slots, blocked lunch hours)
111- Combining restrictions with formats and intervals
112
113### Events and Commands
114📄 **Read:** [references/events-commands.md](references/events-commands.md)
115
116**When to read:** Handling time selection changes, dialog lifecycle, or using MVVM commands.
117
118**Coverage:**
119- SelectionChanged event
120 - TimePickerSelectionChangedEventArgs with NewValue and OldValue
121 - IsSelectionImmediate behavior (immediate vs deferred selection)
122- Dialog mode events:
123 - Opened event (when picker opens)
124 - Closing event with CancelEventArgs (can cancel closing)
125 - Closed event (after picker closes)
126- Footer view events:
127 - OkButtonClicked event
128 - CancelButtonClicked event
129- MVVM Commands:
130 - SelectionChangedCommand
131 - AcceptCommand (OK button)
132 - DeclineCommand (Cancel button)
133- Event usage patterns and best practices
134
135### Customization and Styling
136📄 **Read:** [references/customization.md](references/customization.md)
137
138**When to read:** Customizing picker appearance (colors, fonts, header/footer, visual effects).
139
140**Coverage:**
141- Header view customization
142 - Text, Height, Background, TextStyle properties
143- Footer view customization
144 - OkButtonText, CancelButtonText
145 - ShowOkButton, Height, Background, TextStyle
146- Column header view customization
147 - Text, Height, TextStyle per column
148- Selection view customization
149 - Background, Stroke, StrokeThickness, CornerRadius, TextStyle
150- TextDisplayMode options:
151 - Default, Fade, Shrink, FadeAndShrink
152- Liquid glass effect for modern UI
153- Item text styling
154- Complete customization examples
155
156### Accessibility and Localization
157📄 **Read:** [references/accessibility-localization.md](references/accessibility-localization.md)
158
159**When to read:** Implementing accessible controls or supporting multiple languages/cultures.
160
161**Coverage:**
162- WCAG compliance features
163- Screen reader support
164- Keyboard navigation
165- Semantic properties for accessibility
166- Localization configuration
167- Culture-specific time formatting
168- RTL (right-to-left) language support
169- Multi-language implementation examples
170