Skip to content

Design culture and calendar-system support for Calendar and DatePicker #129

@al6uiz

Description

@al6uiz

Background

This issue comes from the discussion in PR #127.

PR #127 proposed adding culture/calendar-related behavior to Calendar and DatePicker, including the following public properties:

  • DisplayCulture
  • UseGregorianCalendar

The DateOnly / DateOnly? value-type change is handled separately in #128.

This issue is intended to discuss whether these additional culture/calendar-related APIs are necessary, and whether they are the right API shape for MewUI.

Current behavior

MewUI currently follows the UI culture for date display and formatting.

Because of that, adding a separate DisplayCulture property raises a design question:

Should Calendar and DatePicker be able to override the UI culture independently, or should they continue to follow the same UI culture model as the rest of the framework?

UseGregorianCalendar also raises a separate question.

The property is a boolean, but the underlying concept is calendar-system behavior. If MewUI needs to support calendar-system-specific behavior, we should first clarify whether this should be modeled as a boolean option, a more explicit calendar-system API, or not exposed as public API at this stage.

Questions

  • Do Calendar and DatePicker need a culture override separate from the existing UI culture?
  • If a culture override is needed, should it be a control-specific property such as DisplayCulture, or part of a more general element-level culture/language model?
  • If DisplayCulture is introduced, how should it interact with FirstDayOfWeek?
    • Should FirstDayOfWeek remain a fully independent explicit property with its current default?
    • Or should its default value be derived from the effective culture when no explicit value is set?
  • Should calendar-system behavior be modeled separately from display culture?
  • Is UseGregorianCalendar the right API shape, or is a boolean too narrow for this concept?
  • If calendar-system-specific behavior is introduced, what should SelectedDate represent?

Current direction

My current preference is to avoid adding DisplayCulture and UseGregorianCalendar as public APIs until the scenarios and API model are clearer.

Date display and formatting can continue to follow the existing UI culture by default.

If a culture override is needed, I would prefer to first consider whether MewUI needs a general element-level culture/language concept instead of adding a date-control-specific property.

Calendar-system behavior should also be treated as a separate concept from display culture. A boolean such as UseGregorianCalendar may be too narrow if this is intended to become a broader calendar-system feature.

If DisplayCulture is introduced later, its relationship with FirstDayOfWeek should be defined as part of the same API design.

Scope

This issue is only about the additional culture/calendar-related APIs proposed in PR #127:

  • DisplayCulture
  • UseGregorianCalendar

It does not cover the DateOnly / DateOnly? value-type change itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions