Phase 5 of CalendarView WinUI 3 parity upgrade
Parent tracking issue: (will be linked from epic)
Scope
Complete the selection model, formatting pipeline, and timezone handling.
Work items
Files to modify
src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarView_Partial_Selection.cs
src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarView_Partial.cs (format helpers)
src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarView_Partial_TimeZone.cs
src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewGeneratorMonthViewHost.cs (month label formatting)
src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewGeneratorYearViewHost.cs (year label formatting)
src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewGeneratorDecadeViewHost.cs (decade label formatting)
WinUI source reference
dxaml/xcp/dxaml/lib/CalendarView_Partial_Selection.cpp
dxaml/xcp/dxaml/lib/CalendarView_Partial.cpp (formatting section)
dxaml/xcp/dxaml/lib/CalendarView_Partial_TimeZone.cpp
- Generator host
.cpp files
Dependencies
Phase 4
Risk & Testing
- Risk: LOW-MEDIUM - formatting changes can cause locale-specific bugs but are isolated
- Size: Small-Medium PR (~200-300 lines)
- Testing:
CalendarViewIntegrationTests locale-specific tests. Japanese/Arabic/Hebrew calendar tests. Samoa timezone scenario.
Phase 5 of CalendarView WinUI 3 parity upgrade
Parent tracking issue: (will be linked from epic)
Scope
Complete the selection model, formatting pipeline, and timezone handling.
Work items
CalendarView_Partial_Selection.cswith WinUI, particularly theOnSelectedDatesChangingvalidation flow andTrackableDateCollectionchange trackingCreateDateTimeFormatter(),FormatWeekDayNames(),UpdateWeekDayNameAPName(), header text formatting with WinUIInitializeIndexCorrectionTableIfNeeded()handles all edge cases (Samoa timezone, DST transitions) correctly across platformsUpdateHeaderText(withAnimation)andViewChanged/ViewChangingvisual statesScrollToDateWithAnimation()(currently missing - only non-animated scroll exists)Files to modify
src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarView_Partial_Selection.cssrc/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarView_Partial.cs(format helpers)src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarView_Partial_TimeZone.cssrc/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewGeneratorMonthViewHost.cs(month label formatting)src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewGeneratorYearViewHost.cs(year label formatting)src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewGeneratorDecadeViewHost.cs(decade label formatting)WinUI source reference
dxaml/xcp/dxaml/lib/CalendarView_Partial_Selection.cppdxaml/xcp/dxaml/lib/CalendarView_Partial.cpp(formatting section)dxaml/xcp/dxaml/lib/CalendarView_Partial_TimeZone.cpp.cppfilesDependencies
Phase 4
Risk & Testing
CalendarViewIntegrationTestslocale-specific tests. Japanese/Arabic/Hebrew calendar tests. Samoa timezone scenario.