syncfusion-maui-time-picker

$npx mdskill add syncfusion/maui-ui-components-skills/syncfusion-maui-time-picker

Implement Syncfusion .NET MAUI TimePicker for time selection UI.

  • Solves adding time picker controls with formats, intervals, and restrictions.
  • Depends on Syncfusion .NET MAUI NuGet package and SfTimePicker control.
  • Recommends configuration based on time format, mode, interval, and restrictions.
  • Delivers XAML or C# code snippets and customization guidance for the picker.

SKILL.md

.github/skills/syncfusion-maui-time-pickerView on GitHub ↗
---
name: syncfusion-maui-time-picker
description: 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.
metadata:
  author: "Syncfusion Inc"
  version: "34.1.29"
---

# 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](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](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](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](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](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](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](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](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

More from syncfusion/maui-ui-components-skills

SkillDescription
syncfusion-maui-accordionImplements Syncfusion .NET MAUI Accordion (SfAccordion) - a vertically collapsible panel with stacked headers for expanding/collapsing content. Use when working with accordions, collapsible panels, expandable lists, employee lists with details, or FAQ sections in .NET MAUI applications. Covers AccordionItem configuration, expand modes, and grouped content display.
syncfusion-maui-ai-assistviewImplements Syncfusion .NET MAUI AI AssistView (SfAIAssistView) for AI-powered interactive chat interfaces. Use when working with AI chat interfaces, AI AssistView, SfAIAssistView, conversational UI, or chat with AI responses. Covers integrating AI services, creating chat UIs, implementing conversation flows, managing AI requests/responses, and displaying AI suggestions.
syncfusion-maui-autocompleteImplements and configure Syncfusion .NET MAUI Autocomplete (SfAutocomplete) control for intelligent text input with suggestions. Use when implementing autocomplete, autosuggest, type-ahead search, smart search, or filtered dropdowns in .NET MAUI applications. Covers data binding, filtering modes, custom search logic, AI-powered search, multi-selection with tokens, and UI customization.
syncfusion-maui-avatar-viewImplements Syncfusion .NET MAUI Avatar View (SfAvatarView) for displaying user profile pictures, initials, or group avatars. Use when working with avatar views, profile pictures, user images, initials display, profile icons, or contact images. Ideal for implementing user profile displays, contact lists, chat interfaces, or social feeds.
syncfusion-maui-backdropImplements Syncfusion .NET MAUI Backdrop Page (SfBackdropPage) with back layer and front layer surfaces. Use when working with backdrop pages, SfBackdropPage, back layer, front layer, or reveal/conceal animations. Covers backdrop navigation patterns, header icons, corner shapes, reveal height, layer state events, and liquid glass effect.
syncfusion-maui-badge-viewImplements Syncfusion .NET MAUI Badge View (SfBadgeView) control. Use when adding badge notifications, status indicators, unread counts, or notification overlays to MAUI applications. Covers SfBadgeView setup, badge text customization, position adjustments, animations, predefined symbols, and accessibility features.
syncfusion-maui-barcode-generatorImplements Syncfusion .NET MAUI Barcode Generator (SfBarcodeGenerator) for generating machine-readable barcodes. Use when working with barcodes, barcode generation, QR codes, data matrix, EAN codes, UPC codes, Code128, or Code39. This skill covers both one-dimensional (linear) and two-dimensional (matrix) barcode symbologies with extensive customization options.
syncfusion-maui-busy-indicatorImplements Syncfusion .NET MAUI Busy Indicator (SfBusyIndicator) for showing loading states, data processing, and app activity indicators. Use when displaying loading indicators, busy animations, activity spinners, or processing feedback in .NET MAUI apps. Covers busy indicator setup, animations, and visual feedback during long-running operations.
syncfusion-maui-buttonImplements and customize Syncfusion .NET MAUI Button (SfButton) control. Use when working with MAUI buttons, SfButton implementation, button customization, or visual states. Covers button icons, background images, RTL support, Liquid Glass effects, custom button views, button styling, events, and checkable buttons.
syncfusion-maui-calendarImplements and customize Syncfusion .NET MAUI Calendar (SfCalendar) control. Use when implementing calendar functionality, date selection (single, multiple, range), or calendar views (month, year, decade, century). Covers date restrictions (min/max dates, EnablePastDates, SelectableDayPredicate), calendar customization, events (ViewChanged, SelectionChanged, Tapped), and header/footer customization.