56 lines
1.7 KiB
C#
56 lines
1.7 KiB
C#
|
|
using System;
|
||
|
|
using System.Windows.Input;
|
||
|
|
using Microsoft.UI.Xaml;
|
||
|
|
using Microsoft.UI.Xaml.Controls;
|
||
|
|
using Wino.Calendar.Controls;
|
||
|
|
using Wino.Core.Domain.Enums;
|
||
|
|
|
||
|
|
namespace Wino.Mail.WinUI.Controls;
|
||
|
|
|
||
|
|
public sealed partial class CalendarTitleBarContent : UserControl
|
||
|
|
{
|
||
|
|
public event EventHandler? PreviousDateRequested;
|
||
|
|
public event EventHandler? NextDateRequested;
|
||
|
|
|
||
|
|
public CalendarTitleBarContent()
|
||
|
|
{
|
||
|
|
InitializeComponent();
|
||
|
|
}
|
||
|
|
|
||
|
|
public string VisibleDateRangeText
|
||
|
|
{
|
||
|
|
get => VisibleDateRangeTextBlock.Text;
|
||
|
|
set => VisibleDateRangeTextBlock.Text = value;
|
||
|
|
}
|
||
|
|
|
||
|
|
public ICommand? TodayClickedCommand
|
||
|
|
{
|
||
|
|
get => CalendarTypeSelector.TodayClickedCommand;
|
||
|
|
set => CalendarTypeSelector.TodayClickedCommand = value;
|
||
|
|
}
|
||
|
|
|
||
|
|
public int DisplayDayCount
|
||
|
|
{
|
||
|
|
get => CalendarTypeSelector.DisplayDayCount;
|
||
|
|
set => CalendarTypeSelector.DisplayDayCount = value;
|
||
|
|
}
|
||
|
|
|
||
|
|
public CalendarDisplayType SelectedType
|
||
|
|
{
|
||
|
|
get => CalendarTypeSelector.SelectedType;
|
||
|
|
set => CalendarTypeSelector.SelectedType = value;
|
||
|
|
}
|
||
|
|
|
||
|
|
public long RegisterSelectedTypeChanged(DependencyPropertyChangedCallback callback)
|
||
|
|
=> CalendarTypeSelector.RegisterPropertyChangedCallback(WinoCalendarTypeSelectorControl.SelectedTypeProperty, callback);
|
||
|
|
|
||
|
|
public void UnregisterSelectedTypeChanged(long token)
|
||
|
|
=> CalendarTypeSelector.UnregisterPropertyChangedCallback(WinoCalendarTypeSelectorControl.SelectedTypeProperty, token);
|
||
|
|
|
||
|
|
private void PreviousDateClicked(object sender, RoutedEventArgs e)
|
||
|
|
=> PreviousDateRequested?.Invoke(this, EventArgs.Empty);
|
||
|
|
|
||
|
|
private void NextDateClicked(object sender, RoutedEventArgs e)
|
||
|
|
=> NextDateRequested?.Invoke(this, EventArgs.Empty);
|
||
|
|
}
|