Unplanned
Last Updated: 15 Jun 2026 11:20 by Wojtek
Created by: Wojtek
Comments: 0
Category: UI for .NET MAUI
Type: Feature Request
0

Clear icon is different between input controls and also margin and padding looks different.

Make sure the input controls share same look and feel across platforms.

Unplanned
Last Updated: 11 Jun 2026 16:56 by ADMIN

Component: SignaturePad

Version: Telerik UI for .NET MAUI 12.0.0 .NET: .NET 10 / .NET MAUI

Platform: Reproduced on iOS (iPad, iPhone) and Android (Samsung). Cross-platform — bug is in the shared SingleTouchSegmentProvider, not in a platform-specific touch handler.


Description

RadSignaturePad crashes the app with an unhandled InvalidOperationException: "Sequence contains no elements" thrown from the touch event pipeline. Because the exception originates inside the native→managed touch callback, it cannot be caught by user code and propagates to AppDomain.CurrentDomain.UnhandledException, terminating the app.

The root cause is a .Last() call on an empty segment collection inside SingleTouchSegmentProvider.OnTouch. The crash occurs in both TouchesMoved and TouchesEnded paths, indicating a missing guard at the central OnTouch entry point — not in a specific touch phase.

Reliable repro

  1. Place a RadSignaturePad and a separate button that invokes signaturePad.ClearCommand.
  2. Begin drawing a stroke on the SignaturePad (finger down, do not lift).
  3. With another finger (or hand), tap the Clear button while the stroke is still active.
  4. Continue moving the drawing finger.

TouchesMoved fires after ClearCommand has emptied the internal segment collection. SingleTouchSegmentProvider.OnTouch calls .Last() on the empty collection and throws.

Reproduced on:

  • iPad (iPad12,1), iOS 26.4.28 — 100 % reproducible
  • iPhone, iOS — 100 % reproducible
  • Samsung phone, Android — 100 % reproducible

The same crash also occurs on TouchesEnded in less deterministic scenarios — palm rejection, multi-touch cancellation, Apple Pencil hover-to-touch transitions, or a touch that begins outside the view and ends inside it. All of these can deliver a touch event without a corresponding active segment. We've observed this variant in production on iPad but could not reliably reproduce it in isolation.

Stack trace (TouchesMoved variant — reproducible)

System.InvalidOperationException: Sequence contains no elements
   at System.Linq.ThrowHelper.ThrowNoElementsException()
   at System.Linq.Enumerable.Last[Segment](IEnumerable`1 source)
   at Telerik.Maui.Controls.SignaturePad.SingleTouchSegmentProvider.OnTouch(InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignaturePad.SegmentProvider.TouchRecognizer_Touch(Object sender, InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignatureView.OnTouch(InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignatureViewHandler.<ConnectHandler>b__3_0(InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignaturePad.SignatureViewTouchHandler.FireEvent(InteractionAction actionType, UITouch touch)
   at Telerik.Maui.Controls.SignaturePad.SignatureViewTouchHandler.TouchesMoved(NSSet touches, UIEvent evt)
   at Telerik.Maui.Controls.SignaturePad.SignatureViewTouchHandler.__Registrar_Callbacks__.callback_1171_..._TouchesMoved(IntPtr pobj, IntPtr sel, IntPtr p0, IntPtr p1, IntPtr* exception_gchandle)

Stack trace (TouchesEnded variant — same root cause, observed in production)

System.InvalidOperationException: Sequence contains no elements
   at System.Linq.ThrowHelper.ThrowNoElementsException()
   at System.Linq.Enumerable.Last[Segment](IEnumerable`1 source)
   at Telerik.Maui.Controls.SignaturePad.SingleTouchSegmentProvider.OnTouch(InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignaturePad.SegmentProvider.TouchRecognizer_Touch(Object sender, InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignatureView.OnTouch(InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignatureViewHandler.<ConnectHandler>b__3_0(InteractionAdapterEventArgs args)
   at Telerik.Maui.Controls.SignaturePad.SignatureViewTouchHandler.FireEvent(InteractionAction actionType, UITouch touch)
   at Telerik.Maui.Controls.SignaturePad.SignatureViewTouchHandler.TouchesEnded(NSSet touches, UIEvent evt)
   at Telerik.Maui.Controls.SignaturePad.SignatureViewTouchHandler.__Registrar_Callbacks__.callback_1162_..._TouchesEnded(IntPtr pobj, IntPtr sel, IntPtr p0, IntPtr p1, IntPtr* exception_gchandle)

Minimal XAML


<telerik:RadSignaturePad
    x:Name="signaturePad"
    StrokeThickness="5"
    StrokeColor="Black"
    BackgroundColor="White" />
<Button Text="Clear" Clicked="OnClearClicked" />

void OnClearClicked(object s, EventArgs e) { if (signaturePad.ClearCommand.CanExecute(null)) signaturePad.ClearCommand.Execute(null);

}

No custom touch handlers, no SegmentProvider override, no gestures attached.

Expected behaviour

SingleTouchSegmentProvider.OnTouch should guard against an empty segment collection (e.g. .LastOrDefault() + null check, or an early return when no active segment exists). Touch events arriving after a Clear — or without a preceding TouchesBegan — should be ignored, not throw.

Workaround applied on our side

We disable the Clear button while a stroke is active (toggled in StrokeStarted / StrokeCompleted). This closes the deterministic repro but does not cover the non-deterministic TouchesEnded cases (palm rejection etc.), which still crash. A fix in SingleTouchSegmentProvider.OnTouch is required.

Impact

App crash on a customer-visible workflow (digital signature capture on service tickets). Affects production users on iPads, iPhones, and Android devices.

Asks

  1. Please confirm and provide a fix version / ETA.
  2. Until fixed, is there a supported extension point to override SignatureViewTouchHandler or SegmentProvider so we can guard OnTouch from user code?

Unplanned
Last Updated: 09 Jun 2026 07:27 by Neil N
Created by: Neil N
Comments: 0
Category: UI for .NET MAUI
Type: Feature Request
0
Completed
Last Updated: 20 May 2026 10:59 by ADMIN
Release 14.0.0 (2026 Q2)

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: 19 May 2026 09:44 by Giovanni Rojas
Created by: Giovanni Rojas
Comments: 0
Category: UI for .NET MAUI
Type: Feature Request
1
Provide the resx file for the controls used for the localization feature.
Duplicated
Last Updated: 06 Mar 2026 08:08 by ADMIN
Created by: Kyle
Comments: 1
Category: UI for .NET MAUI
Type: Feature Request
8

Right to left flow direction completely breaks the RadDataGrid on Android and on iOS it doesn't seem to do anything.

Repro steps:

Android:

  1. Download project from github: Kbperri/RadDataGridBug
  2. Run the app on an Android device
  3. See that the DataGrid is showing up
  4. Click the "Click me" button which sets the FlowDirection
  5. See that the DataGrid disappears
  6. Click the button again and it appears again

iOS:

  1. Download project from github: Kbperri/RadDataGridBug
  2. Run the app on an iOS device
  3. See that the DataGrid is showing up
  4. Click the "Click me" button which sets the FlowDirection
  5. See that the DataGrid doesn't change direction

If you test this on Windows, the FlowDirection is being appropriately applied.

Android LTR:

RTL:

Completed
Last Updated: 20 Feb 2026 08:59 by ADMIN
Release 13.0.1

when building an app without explicitly setting the target platform, the following error appears:

The type or namespace name 'Compatibility' does not exist in the namespace 'Telerik.Maui.Controls' (are you missing an assembly reference?)

The Telerik.Maui.Controls.Compatibility dll is missing from the .net9/10 shared folders

Unplanned
Last Updated: 07 Jan 2026 17:57 by ADMIN
when building an app with adding the Theming, there are thousands of warnings.
Completed
Last Updated: 12 Nov 2025 15:03 by ADMIN
Release 12.0.0 (2025 Q4)
Created by: Shane
Comments: 2
Category: UI for .NET MAUI
Type: Feature Request
3

Hi,

Do you have on your roadmap to include a Shimmer View / Control as part of your .NET MAUI offerings to tidy up a screen loading indication.

From a UI/UX perspective, a shimmer sits better with our user community rather than a loading indicator.

Thank you,

Shane

 

Completed
Last Updated: 12 Nov 2025 13:24 by ADMIN
Release 12.0.0 (2025 Q4)

It seems the issue happens randomly -> crashes on a Windows 19 Server while running a basic Windows Maui app.

There is a public bug report: https://github.com/mono/SkiaSharp/issues/3168   

Under Review
Last Updated: 15 Oct 2025 07:41 by ADMIN
Created by: Kirk
Comments: 4
Category: UI for .NET MAUI
Type: Feature Request
0
Have the ability to have video calls for .Net Maui
Completed
Last Updated: 13 Aug 2025 07:51 by ADMIN
Release 11.1.0 (2025 Q3)
Created by: Vaibhav
Comments: 3
Category: UI for .NET MAUI
Type: Feature Request
23

The Bottom Sheet component provides an intuitive way to display additional content to the users. It appears on the bottom of a screen as an overlay and presents users with a choice of actions that they must take.

Completed
Last Updated: 13 Aug 2025 07:40 by ADMIN
Release 11.1.0 (2025 Q3)
When using a Hot Restart Feature (using Windows only, deploying to iPhone plugged into the Windows PC, via "Local Device") the watermark is presented on the iPhone device even I have a valid license and the build log shows the active license is detected.

In general the Hot Restart is not supported as there are limitations for static libraries. Check this link: https://feedback.telerik.com/maui/1582732-support-for-hot-restart-feature 
Completed
Last Updated: 13 Aug 2025 07:40 by ADMIN
Release 11.1.0 (2025 Q3)

When navigating to a page with a RadRichTextEditor, it sometimes pops up an error on page load.  It is inconsistent, but I attached an example gif.  The xaml on the page I'm navigating to is basic:

  <Grid Margin="20">
    <telerik:RadRichTextEditor x:Name="RichTextEditorControl"
                               BorderColor="Black"
                               BorderThickness="1" />
  </Grid>

 

I believe this problem started with MAUI version 9.0.70.  Possibly with one of these changes:

https://github.com/dotnet/maui/pull/27003/files

https://github.com/dotnet/maui/pull/28354/files

 

Completed
Last Updated: 01 Aug 2025 12:58 by ADMIN
Created by: Didi
Comments: 2
Category: UI for .NET MAUI
Type: Feature Request
1

Provide an AI assistant for code generation with the Telerik MAUI controls. 

Telerik Blazor released such assistant https://www.telerik.com/blazor-ui/documentation/ai/overview 

Unplanned
Last Updated: 18 Jul 2025 06:28 by Subburaj
Created by: Subburaj
Comments: 0
Category: UI for .NET MAUI
Type: Feature Request
2

add a button control in which you can swipe its content 

Duplicated
Last Updated: 14 Jul 2025 08:31 by ADMIN
Created by: Vishal
Comments: 3
Category: UI for .NET MAUI
Type: Feature Request
5
Take picture via camera and quickly upload pic.
Declined
Last Updated: 14 Jul 2025 08:03 by ADMIN
Created by: Marc
Comments: 4
Category: UI for .NET MAUI
Type: Feature Request
0
Are there any plans to add Augmented Reality components for .NET MAUI?
Completed
Last Updated: 09 Jul 2025 12:43 by ADMIN
Release 11.0.1
Created by: Nico
Comments: 1
Category: UI for .NET MAUI
Type: Bug Report
0

I have a user who reported a crash. In Sentry, I see this:

System.NullReferenceException: Object reference not set to an instance of an object.
  ?, in void TelerikLicense.ShowLicenseMessage(Page page)
  ?, in void TelerikLicense.VerifyLicense(Element element)+() => { }
  ?, in void TelerikLicense.ExecuteActionOnLoaded(Page page, Action action)
  ?, in void TelerikLicense.VerifyLicense(Element element)
  ?, in object <InitializeComponent>_anonXamlCDataTemplate_21.LoadDataTemplate()
  ?, in object ElementTemplate.CreateContent()
  ?, in void BindableLayoutController.CreateChildren()
  ?, in NotifyCollectionChangedAction NotifyCollectionChangedEventArgsExtensions.Apply(NotifyCollectionChangedEventArgs self, Action<object, int, bool> insert, Action<object, int> removeAt, Action reset)
  ?, in void BindableLayoutController.ItemsSourceCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
  ?, in void WeakNotifyCollectionChangedProxy.OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
  File "ObservableCollection.cs", line 192, in void ObservableCollection<T>.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
    handler(this, e);
  ?, in void ExtObservableCollection<T>.RaiseCollectionChanged()

the app was built with a successful license-check
Telerik.Licensing 1.6.6

 

Completed
Last Updated: 09 Jul 2025 12:43 by ADMIN
Release 11.0.1
when the developer does not have a license configured on their machine. Early on in the workflow of our app, the application will crash when we attempt to create a new PopupOverlay from an external dependency, such as the CommunityToolkit,
1 2 3 4 5 6