Declined
Last Updated: 12 May 2026 14:06 by ADMIN
Created by: Luis
Comments: 2
Category: CollectionView
Type: Bug Report
1

We've got a CollectionView which shows a list of grouped items (grouping can be by date or other values - but date is the default).

The CollectionView items source is bound to an observable collection, and when the viewmodel saw an item removed from the observable collection, the Telerik control crashed.  We've seen instances of this app crash on Android (the same control hasn't been released to other platforms yet). We do not have reproduction steps as this is a rare issue, but it feels like it is worth communicating as you might be able to spot what is going on from your end.

System.ArgumentException: Arg_MustBeDateTime
  at int DateTime.CompareTo(object value)()
  at int Comparer.Compare(object a, object b)()
  at int SortFieldComparer.Compare(object o1, object o2)()
  at int ArraySortHelper<object>.InternalBinarySearch(object[], int, int, object, IComparer<object>)()
  at int ArraySortHelper<object>.BinarySearch(object[], int, int, object, IComparer<object>)()
System.InvalidOperationException: InvalidOperation_IComparerFailed
  at int ArraySortHelper<object>.BinarySearch(object[], int, int, object, IComparer<object>)()
  at int Array.BinarySearch<object>(object[] array, int index, int length, object value, IComparer<object> comparer)()
  at int List<object>.BinarySearch(int, int, object, IComparer<object>) x 2()
  at int Group.IndexOf(object item, IComparer<object> sortComparer)()
  at Tuple<Group, int> ParallelDataEngine.FindGroupAndItemIndex(IValueProvider valueProvider, Group rowRootGroup, object item, int index, bool exhaustiveSearch, bool canUseComparer)()
  at AddRemoveItemResult ParallelDataEngine.RemoveItem(IAggregateResultProvider aggregateResultProvider, IValueProvider valueProvider, Group rowRootGroup, Group columnRootGroup, object item, int index, bool exhaustiveSearch, bool canUseComparer)()
  at List<AddRemoveResult> ParallelDataEngine.Process(int index, IEnumerable items, bool remove, bool removeFilteredItem, bool canUseComparer)()
  at List<AddRemoveResult> ParallelDataEngine.Telerik.Maui.Data.IDataEngine.RemoveItems(int index, IEnumerable items, bool removeFilteredItem, bool canUseComparer)()
  at List<AddRemoveResult> LocalDataSourceProvider.RemoveItems(int oldStartingIndex, IList oldItems, NotifyCollectionChangedEventArgs e, bool doExhaustiveSearch, bool canUseComparer)()
  at void LocalDataSourceProvider.ProcessCollectionChanged(NotifyCollectionChangedEventArgs e)()
  at void LocalDataSourceProvider.DataView_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.RaiseCollectionChanged(object sender, NotifyCollectionChangedEventArgs args)()
  at void EnumerableDataSourceView.ProcessCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.ProcessCollectionChangedOverride(object sender, NotifyCollectionChangedEventArgs args)()
  at void EnumerableDataSourceView.ProcessPendingCollectionChange()()
  at void DataProviderBase.RaiseViewChanging(object sender, IList changedItems, CollectionChange action)()
  at void LocalDataSourceProvider.DataView_CollectionChanging(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.RaiseCollectionChanging(object sender, NotifyCollectionChangedEventArgs args)()
  at void EnumerableDataSourceView.HandleCollectionChangedOverride(object sender, NotifyCollectionChangedEventArgs e)()
  at void EnumerableDataSourceView.Telerik.Maui.IWeakEventListener.ReceiveEvent(object sender, object args)()
  at void WeakEventHandlerList<NotifyCollectionChangedEventArgs>.ProcessEvent(object sender, object args)()
  at void WeakEventHandlerList<NotifyCollectionChangedEventArgs>.OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)()
  at void ObservableCollection<IWorkItemListItem>.OnCollectionChanged(NotifyCollectionChangedEventArgs) x 2()
  at void ObservableCollection<IWorkItemListItem>.RemoveItem(int)()
  at bool Collection<IWorkItemListItem>.Remove(IWorkItemListItem)()

any ideas on what might be going on here?

Unplanned
Last Updated: 12 May 2026 08:33 by Infra
when changing the device theme from settings -> personalization -> theme to dark, the Editor background color changes to black and text color changes to black, no matter which Telerik theme is set.
In Development
Last Updated: 11 May 2026 05:51 by ADMIN
Scheduled for 14.0.0
When having a waterfront image in the document, it is displayed as a foreground element.
Unplanned
Last Updated: 07 May 2026 13:39 by ADMIN

After upgrading from Telerik UI for .NET MAUI 13.0.0 → 13.2.0, a NullReferenceException is thrown inside SchedulerAgendaView.Init() on Windows (WinUI3) whenever a RadScheduler with an AgendaViewDefinition is used. The scheduler never renders and the app receives an unhandled exception.


Steps to Reproduce:

  1. Create a .NET MAUI app targeting Windows (WinUI3)
  2. Add a ContentPage (or any page) with a RadScheduler in XAML, including at least one AgendaViewDefinition in ViewDefinitions:
<telerik:RadScheduler AppointmentsSource="{Binding Appointments}">
    <telerik:RadScheduler.ViewDefinitions>
        <telerik:AgendaViewDefinition />
        <telerik:DayViewDefinition />
    </telerik:RadScheduler.ViewDefinitions>
</telerik:RadScheduler>
  1. Navigate to that page
  2. Observe the unhandled exception

Expected Behavior:

The scheduler renders correctly with the AgendaViewDefinition, as it did in 13.0.0.


Actual Behavior:

An unhandled NullReferenceException is thrown:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Telerik.Maui.Controls.Scheduler.SchedulerAgendaView.Init()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__124_0(Object state)
   at Microsoft.UI.Dispatching.DispatcherQueueSynchronizationContext.<>c__DisplayClass2_0.<Post>b__0()

Root Cause Analysis (via ILSpy decompilation):

Comparing the decompiled assemblies of 13.0.0 and 13.2.0 reveals a new override in RadScheduler introduced in 13.2.0:

// NEW in 13.2.0 — not present in 13.0.0:
protected override void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
    base.OnPropertyChanged(propertyName);
    if (propertyName == "Parent" && Parent != null && !IsLoaded)
        UpdateActiveViewDefinition();
}

This causes the following call chain to be triggered during InitializeComponent() in the page constructor — before the page is attached to a window:

  1. XAML parser adds RadScheduler to the page → Parent property changes
  2. OnPropertyChanged("Parent") fires → UpdateActiveViewDefinition() is called
  3. → ActiveViewDefinition = ViewDefinitions[0] (the AgendaViewDefinition)
  4. → OnActiveViewDefinitionChanged() → content.Rebuild() (template already applied on WinUI3)
  5. → SchedulerAgendaView.Model setter → Init() is called as async void
  6. Inside Init(), after the first await, the continuation runs and DataBindingComplete fires
  7. The completeHandler inside Init() calls:
((BindableObject)this).Dispatcher.Dispatch(async delegate { ... });
  1. Dispatcher is null because the SchedulerAgendaView is not yet attached to a window → NullReferenceException

The exception is captured by the async void state machine and re-thrown via SynchronizationContext.ThrowAsync → DispatcherQueueSynchronizationContext.Post, which matches the observed stack trace exactly.

Why it worked in 13.0.0: UpdateActiveViewDefinition() was never called from OnPropertyChanged. It was only invoked after IsLoaded = true, at which point Dispatcher is guaranteed to be non-null.

Why the condition !IsLoaded is insufficient: Parent != null does not imply a window is present. During InitializeComponent(), the element has a parent in the logical tree but is not yet attached to any Window, making Dispatcher null on BindableObject.


Workaround:

Do not declare ViewDefinitions in XAML. Instead, add them programmatically in the page's Loaded event handler, at which point Dispatcher is guaranteed to be available:

private void OnPageLoaded(object sender, EventArgs e)
{
    if (scheduler.ViewDefinitions.Count == 0)
    {
        scheduler.ViewDefinitions.Add(new AgendaViewDefinition());
        scheduler.ViewDefinitions.Add(new DayViewDefinition());
        scheduler.ViewDefinitions.Add(new WeekViewDefinition());
        scheduler.ViewDefinitions.Add(new MonthViewDefinition());
    }
}

Suggested Fix:

Either:

Option A — Guard Dispatcher usage inside SchedulerAgendaView.Init():

// In completeHandler, before calling Dispatch:
if (((BindableObject)this).Dispatcher is { } dispatcher)
    dispatcher.Dispatch(...);

Option B — Guard UpdateActiveViewDefinition() in RadScheduler.OnPropertyChanged to only run when content (the internal RadSchedulerContent) has already been set (i.e., template was applied):

if (propertyName == "Parent" && Parent != null && !IsLoaded && content != null)
    UpdateActiveViewDefinition();

Option B is more conservative and closer to the original 13.0.0 behavior, since content being non-null implies the template has been applied and Dispatcher is available.


Environment:

Telerik UI for .NET MAUI13.2.0 (regression from 13.0.0)
.NET.NET 10
PlatformWindows (WinUI3)
MAUI10.0.60

Unplanned
Last Updated: 30 Apr 2026 15:34 by ADMIN
Created by: Nico
Comments: 1
Category: Border
Type: Bug Report
0

After upgrading to .NET MAUI 10.0.60, the app crashes on Windows with an unhandled exception when RadCollectionView renders items that use a ControlTemplate containing a RadBorder.

Exception:

System.Exception: Keine installierten Komponenten gefunden. (REGDB_E_CLASSNOTREG)
  at ABI.System.Collections.Generic.IListMethods`2.AppendDynamic(...)
  at Microsoft.UI.Xaml.Controls.UIElementCollection.Add(UIElement item)
  at Telerik.Maui.RadBorderExtensions.UpdateBorderContent(Border nativeBorder, IRadBorder border)
  at Telerik.Maui.Handlers.RadBorderHandler.MapContent(...)
  at Telerik.Maui.Controls.RadCollectionViewItemView.OnStyleChanged()
  ...

Root Cause:

MAUI PR #30047 introduced a call to view.Handler?.DisconnectHandler() inside ContentViewHandler.UpdateContent (Windows-only) before re-adding the content to the native panel. This disconnects and invalidates Telerik's RadBorderHandler WinRT object references. When RadBorderExtensions.UpdateBorderContent subsequently calls UIElementCollection.Add, the WinRT interop throws the COM error.

Steps to reproduce:

  1. Use MAUI 10.0.60 or later on Windows
  2. Place a RadCollectionView with an ItemTemplate or ControlTemplate that contains a RadBorder
  3. Run the app and display the collection

Expected: Collection renders correctly.
Actual: App crashes with REGDB_E_CLASSNOTREG.

Versions:

  • .NET MAUI: 10.0.60
  • Telerik UI for MAUI: 13.2.0 (also reproduced on 13.0.0)
  • Platform: Windows (WinUI 3)

Workaround:
Replacing the default ContentViewHandler mapping with a custom implementation that calls platformView.RemoveFromParent() on the native view instead of DisconnectHandler() on the virtual view avoids the crash.

In Development
Last Updated: 27 Apr 2026 06:50 by ADMIN
Scheduled for 14.0.0

from 11.1.0 version and above the behavior of dropping item changes for my custom scenario.

I have two CollectionView's. one on left has inner collectionview, and one on right. When the inner collectionview has no items, dropping item from the right collectionview to the collectionview with no data cannot be achieved. 

The height of the inner collectionview with no items is 0. 

This works in 11.0.0 version but after 11.1.0 the behavior changes and item cannot be dropped.

In Development
Last Updated: 27 Apr 2026 06:50 by ADMIN
Scheduled for 14.0.0

when having a document with a text fragment with a transparency, the transparency is not respected. the full color is displayed.

In Development
Last Updated: 27 Apr 2026 06:50 by ADMIN
Scheduled for 14.0.0

Items do not display after scrolling, navigating to another page, and returning to the page. 

You have to scroll or resize the window and the items appear

In Development
Last Updated: 27 Apr 2026 06:50 by ADMIN
Scheduled for 14.0.0

having a combobox inside the collectionview, click on the combo to open, then click again on the same location where you clicked to open the combo and exception occurs.

this is the stack trace: 

 at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at ABI.Microsoft.UI.Input.IGestureRecognizerMethods.ProcessDownEvent(IObjectReference _obj, PointerPoint value)
   at Microsoft.UI.Input.GestureRecognizer.ProcessDownEvent(PointerPoint value)
   at Telerik.Maui.NativeGestureRecognizer.HoldGestureRecognizer_PointerPressed(Object sender, PointerRoutedEventArgs e)
   at ABI.Microsoft.UI.Xaml.Input.PointerEventHandler.Do_Abi_Invoke(IntPtr thisPtr, IntPtr sender, IntPtr e)

 

In Development
Last Updated: 27 Apr 2026 06:50 by ADMIN
Scheduled for 14.0.0
When using a typing indicator in the chat and sending messages, the first few messages get out of the visible are of the screen and cannot be scrolled to.
Unplanned
Last Updated: 23 Apr 2026 09:35 by Chris

having a datagrid with columns and setting the celleditor style to text column, then setting SelectionOnFocus to some value, then enter the edit mode, for example select all or cursor at start do not apply., always cursor at end applies.

The behavior also happens when using CellEditTemplate and there is RadEntry in it. The SelectionOnFocus does not apply. 

Completed
Last Updated: 17 Apr 2026 13:12 by Kelvin
Release 13.1.0
When having a TreeView inside SlideView content, cannot change the slides using pan gesture
Unplanned
Last Updated: 15 Apr 2026 13:25 by ADMIN

When setting the IsLooping property to "False" through SpinnerStyle property, the infinite looping while scrolling is not disabled.

<ContentPage.Resources>
<Style TargetType="telerik:RadSpinner" x:Key="spinnerStyle">
    <Setter Property="IsLooping" Value="False" />
</Style>
</ContentPage.Resources>

<VerticalStackLayout WidthRequest="300" HorizontalOptions="Center">
    <telerik:RadDateTimePicker x:Name="dateTimePicker"
                                                  SpinnerStyle="{StaticResource spinnerStyle}"
                                                  MinimumDate="2020/01/01"
                                                  MaximumDate="2026/12/31" />
</VerticalStackLayout>

In Development
Last Updated: 14 Apr 2026 11:50 by ADMIN
when using sticky group headers and adding removing items, to the control, the items.count in the sticky header do not update. You have to scroll the control, expand/collapse the group so the item count to be updated. 
Unplanned
Last Updated: 10 Apr 2026 09:43 by ADMIN
when setting a custom palette, the xy grid lines are not visible on Android
Unplanned
Last Updated: 03 Apr 2026 12:08 by Teddy

when trying to display data using the trackball, the tooltip is clipped on left at chart start: 

Unplanned
Last Updated: 03 Apr 2026 11:41 by Teddy

when having a chart with horizontal datetime axis and trackball behavior, the first and last points are not displayed in the trackball

when using categorical axis, the last point displays in the tooltip, but the first point does not.

In Development
Last Updated: 01 Apr 2026 15:04 by ADMIN
  1. click the "Search"-Icon
  2. type for example "simple" to have 1 hit
  3. close search
  4. click the "Search"-Icon again
  5. Crash occurs

Stack trace

--- Message ---
Object reference not set to an instance of an object.
 
--- Stacktrace ---
   at Telerik.Maui.Controls.PdfViewer.PdfViewerSearchEntryToolbarItemView.SearchEntry_TextChanged(Object sender, TextChangedEventArgs e)

In Development
Last Updated: 01 Apr 2026 11:45 by ADMIN
When a monospace font is applied to cells, the cell content does not align as expected. Instead of maintaining consistent horizontal alignment typical of monospace typefaces (where each character occupies equal width), the text appears misaligned or uneven across cells.
Unplanned
Last Updated: 25 Mar 2026 13:50 by Frank
For example having a document with 660 pages and searching a word, when the search feature iterates over all pages at some point the app terminates. 
1 2 3 4 5 6