feat: WIP.
This commit is contained in:
@@ -12,39 +12,43 @@ internal enum CalendarYearViewMode
|
||||
{
|
||||
Month,
|
||||
Year,
|
||||
|
||||
// The button represents 10 years.
|
||||
YearRange,
|
||||
}
|
||||
YearRange
|
||||
}
|
||||
|
||||
[PseudoClasses(PC_Range, PseudoClassName.PC_Selected)]
|
||||
public class CalendarYearButton: ContentControl
|
||||
public class CalendarYearButton : ContentControl
|
||||
{
|
||||
public const string PC_Range = ":range";
|
||||
|
||||
public static readonly RoutedEvent<CalendarYearButtonEventArgs> ItemSelectedEvent =
|
||||
RoutedEvent.Register<CalendarYearButton, CalendarYearButtonEventArgs>(
|
||||
nameof(ItemSelected), RoutingStrategies.Bubble);
|
||||
|
||||
static CalendarYearButton()
|
||||
{
|
||||
PressedMixin.Attach<CalendarYearButton>();
|
||||
}
|
||||
|
||||
|
||||
internal int Year { get; private set; }
|
||||
|
||||
|
||||
internal int Month { get; private set; }
|
||||
|
||||
|
||||
internal int StartYear { get; private set; }
|
||||
|
||||
|
||||
internal int EndYear { get; private set; }
|
||||
|
||||
|
||||
internal CalendarYearViewMode Mode { get; private set; }
|
||||
|
||||
public static readonly RoutedEvent<CalendarYearButtonEventArgs> ItemSelectedEvent = RoutedEvent.Register<CalendarYearButton, CalendarYearButtonEventArgs>(
|
||||
nameof(ItemSelected), RoutingStrategies.Bubble);
|
||||
|
||||
|
||||
public event EventHandler<CalendarDayButtonEventArgs> ItemSelected
|
||||
{
|
||||
add => AddHandler(ItemSelectedEvent, value);
|
||||
remove => RemoveHandler(ItemSelectedEvent, value);
|
||||
}
|
||||
|
||||
internal void SetValues(CalendarYearViewMode mode, DateTime contextDate, int? month = null, int? year = null, int? startYear = null, int? endYear = null)
|
||||
internal void SetValues(CalendarYearViewMode mode, DateTime contextDate, int? month = null, int? year = null,
|
||||
int? startYear = null, int? endYear = null)
|
||||
{
|
||||
Debug.Assert(!(month is null && year is null && startYear is null && endYear is null));
|
||||
Mode = mode;
|
||||
@@ -66,6 +70,5 @@ public class CalendarYearButton: ContentControl
|
||||
base.OnPointerPressed(e);
|
||||
RaiseEvent(new CalendarYearButtonEventArgs(Mode, Year, Month, StartYear, EndYear)
|
||||
{ RoutedEvent = ItemSelectedEvent, Source = this });
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user