Hello
This is XAML code
XAML<dxe:DateNavigator x:Name="dnCalendar"
IsMultiSelect="False"
HighlightSpecialDates="True"
MinValue="{Binding MinDate, Mode=TwoWay}"
MaxValue="{Binding MaxDate, Mode=TwoWay}"
FocusedDate="{Binding SelectedDate, Mode=TwoWay}"
SpecialDates="{Binding IntervalDates, Mode=OneWay}" />
C#public DateTime? MinDate { get; set; }
public DateTime? MaxDate { get; set; }
DateTime? mSelectedDate = DateTime.Now;
public DateTime? SelectedDate
{
get => mSelectedDate;
set
{
if (mSelectedDate != value)
{
//mSelectedDate = value;
try
{
UpdateCalendarBoldDates().GetAwaiter();
FillLogIntervals().GetAwaiter();
}
catch (Exception ex)
{
ex.Log("Error while updating selected date");
}
if (value == null || (value.Value.Date >= MinDate && value.Value.Date <= MaxDate))
mSelectedDate = value;
else
mSelectedDate = MaxDate;
ScrollToDate?.Invoke(mSelectedDate);
}
}
}
public async Task UpdateCalendarBoldDates()
{
if (IsIntervalTypeChanged
|| !IntervalDates.HasRecords()
|| (LogIntervals.Any(c => c.InsertionTime.Date == DateTime.Now.Date)
&& !IntervalDates.Any(c => c.Date.Date == DateTime.Now.Date)))
{
IntervalDates = await Task.Run(() => dbRepository.LogIntervalRepository.GetLogIntervalDates(CurrentIntervalType).ToObservable());
if (IntervalDates.HasRecords())
{
MinDate = IntervalDates.Min();
MaxDate = IntervalDates.Max();
}
else
{
MinDate = DateTime.Now;
MaxDate = DateTime.Now;
}
}
}
This was old code that was working fine until we upgraded dlls to 24.1.5.
Now we're having this exception
Call StackSystem.Exception
HResult=0x80131500
Message=Can only change SelectedDates collection in multiple selection mode. Use FocusedDate in single select mode.
Source=DevExpress.Xpf.Core.v24.1
StackTrace:
at DevExpress.Xpf.Editors.DateNavigator.SingleSelectionNavigationStrategy.CheckSelectedDates()
at DevExpress.Xpf.Editors.DateNavigator.DateNavigator.OnSelectedDatesChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection1.OnCollectionChanged(NotifyCollectionChangedEventArgs e) at System.Collections.ObjectModel.ObservableCollection1.RemoveItem(Int32 index)
at System.Collections.ObjectModel.Collection1.Remove(T item) at DevExpress.Xpf.Editors.DateNavigator.DateNavigator.CoerceSelectedDates(Object value) at System.Windows.DependencyObject.ProcessCoerceValue(DependencyProperty dp, PropertyMetadata metadata, EntryIndex& entryIndex, Int32& targetIndex, EffectiveValueEntry& newEntry, EffectiveValueEntry& oldEntry, Object& oldValue, Object baseValue, Object controlValue, CoerceValueCallback coerceValueCallback, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, Boolean skipBaseValueChecks) at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) at System.Windows.DependencyObject.CoerceValue(DependencyProperty dp) at DevExpress.Xpf.Editors.DateNavigator.DateNavigator.<>c.<.cctor>b__42_22(DependencyObject d, DependencyPropertyChangedEventArgs e) at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue) at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange) at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange) at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange) at MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(Object o, String propName) at System.Windows.WeakEventManager.ListenerList1.DeliverEvent(Object sender, EventArgs e, Type managerType)
at System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(Object sender, PropertyChangedEventArgs args)
at bitb.Utils.UI.NotifyUIBase.RaisePropertyChanged(String propertyName) in D:\BradWilson\projects\bitB4\bitb\bitb.Utils\UI\NotifyUIBase.cs:line 25
at bitB.ViewModels.MainViewModel.set_MinDate(Nullable`1 value) in D:\BradWilson\projects\bitB4\bitb\bitBWpf\ViewModels\MainViewModel.cs:line 4281
at bitB.ViewModels.MainViewModel.<UpdateCalendarBoldDates>d__964.MoveNext() in D:\BradWilson\projects\bitB4\bitb\bitBWpf\ViewModels\MainViewModel.cs:line 4438
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at bitB.ViewModels.MainViewModel.<InitializeTimerIntervalAsync>d__959.MoveNext() in D:\BradWilson\projects\bitB4\bitb\bitBWpf\ViewModels\MainViewModel.cs:line 4332
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at bitB.ViewModels.MainViewModel.<InitializeTimerInterval>d__958.MoveNext() in D:\BradWilson\projects\bitB4\bitb\bitBWpf\ViewModels\MainViewModel.cs:line 4320
What do I do to fix this error. Please help us. Thank you.