private static void OnTrackCalendarSelectedDatesPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var calendar = d as Calendar;

            if (calendar != null)
            {
                if ((bool)e.NewValue)
                {
                    var extensions = new CalendarExtensions(calendar);
                    SetExtensions(calendar, extensions);
                    extensions.UpdateSelectedDates();
                }
                else
                {
                    GetExtensions(calendar).Detach();
                    calendar.ClearValue(ExtensionsProperty);
                }
            }
        }
 private static void SetExtensions(DependencyObject obj, CalendarExtensions value)
 {
     obj.SetValue(ExtensionsProperty, value);
 }