12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using System;
- using System.ComponentModel;
- using System.Globalization;
- using System.Linq;
- using System.Windows.Data;
- namespace CustomControls
- {
- [DesignTimeVisible(false)]
- public partial class Calendar : System.Windows.Controls.Calendar
- {
- public DateTime[] AnnualDates { get; set; }
- public DateTime[] MonthDates { get; set; }
- public DateTime[] Dates { get; set; }
- public Calendar()
- {
- InitializeComponent();
- DataContext = this;
- }
- }
- public class LookupDatesConverter : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- var date = (DateTime)values[0];
- var dates = values[1] as DateTime[];
- return dates?.Where(x => x.Year == date.Year && x.Month == date.Month && x.Day == date.Day).Any();
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => null;
- }
- public class LookupAnnualDatesConverter : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- var date = (DateTime)values[0];
- var dates = values[1] as DateTime[];
- return dates?.Where(x => x.Month == date.Month && x.Day == date.Day).Any();
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => null;
- }
- public class LookupMonthDatesConverter : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- var date = (DateTime)values[0];
- var dates = values[1] as DateTime[];
- return dates?.Where(x => x.Day == date.Day).Any();
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => null;
- }
- }
|