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.
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.
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.
RadSignaturePad and a separate button that invokes signaturePad.ClearCommand.→ TouchesMoved fires after ClearCommand has emptied the internal segment collection. SingleTouchSegmentProvider.OnTouch calls .Last() on the empty collection and throws.
Reproduced on:
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.
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)
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)
<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.
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.
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.
App crash on a customer-visible workflow (digital signature capture on service tickets). Affects production users on iPads, iPhones, and Android devices.
SignatureViewTouchHandler or SegmentProvider so we can guard OnTouch from user code?add a button control in which you can swipe its content
Hi Team,
We have a scenario where our license key file is hosted on a team-only file share. However, the file share only works with HTTP/S links and not a UNC path.
For example, this works perfectly:
TELERIK_LICENSE_PATH="\\internalshare\folder\telerik-license.txt"However, we cannot use
TELERIK_LICENSE_PATH="http://internalshare.com/telerik-license.txt"
Thank you,
Teddy
I noticed there is a Toggle Button available, but the Toggle Switch Button that is available for WPF is not yet available for MAUI.
Please consider adding such button for .NET MAUI suite.
When adding Telerik controls on the page and run the app on android, the following error message occurs runtime:
Java.Lang.RuntimeException stack trace --- java.lang.RuntimeException: Font asset not found /data/user/0/com.companyname.appname/cache/telerikfont.ttf at android.graphics.Typeface.createFromAsset(Typeface.java:1061)
............
This error message does not prevent the app from working as expected, but the log is full of this message.
Hi Team,
I would like to be able to have client-side filtering/sorting/grouping capabilities for large backend datasets that cannot be entirely loaded on the client.
As it stands now, the DataGrid (and other data components) can only operate on the data that is has in the local DataView. This means that I need to build a custom filtering solution that prefilters/presorts the backend data before paging and loading it into the DataGrid.
To accomplish the "full view", we need a data layer that understands both the UI as well as the backend. The Telerik UI for WPF product has an excellent solution for this, known as the WPF EntityFrameworkCoreDataSource - Overview - Telerik UI for WPF and the WPF DataServiceDataSource - Overview - Telerik UI for WPF.
If such a feature can be added to Telerik UI for MAUI, it would be an excellent bonus for the component suite in data heavy applications.
Thank you,
Peter
ListView with a TemplateSelector crashes on iOS 16 device!
<telerik:RadListView ItemTemplate="{StaticResource ActTempSelector}" ItemsSource="{Binding Suggestions}">
</telerik:RadListView>log output is the following:
2022-10-08 20:44:46.810 Xamarin.PreBuilt.iOS[1593:343579] *** NSForwarding: warning: object 0x281edbea0 of class 'Telerik_Maui_Controls_Compatibility_DataControlsRenderer_iOS_TKExtendedListView' does not implement methodSignatureForSelector: -- trouble ahead
2022-10-08 20:44:46.810 Xamarin.PreBuilt.iOS[1593:343579] *** NSForwarding: warning: object 0x281edbea0 of class 'Telerik_Maui_Controls_Compatibility_DataControlsRenderer_iOS_TKExtendedListView' does not implement doesNotRecognizeSelector: -- abort
Progress/Telerik --
I would like Telerik to extend the Microsoft .NET MAUI MediaPicker control to support the selection of MULTIPLE Photos and/or Videos from the Image Gallery.
I believe this is a reasonably standard scenario for use cases where the user takes multiple Photos or Videos with the Camera and then would like to upload them to a server for storage in a web app and database.
The current Microsoft MediaPicker supports the selection of a SINGLE item only.
.NET MAUI - Platform Integration - Media - Photos and Videos
And while there are several GitHub libraries that have done this for Xamarin.Forms (and rely on Xamarin.Essentials), they are either archived or not updated in a timely manner like a 3rd Party - Paid For - Control would be.
Even Telerik/Progress has recently done a Blog Post on how to use the Microsoft Control - Leomaris Reyes published this:
Getting Started with the Media Picker in .NET MAUI
Also, I believe this Feature Request is asking for the same feature:
https://feedback.telerik.com/maui/1552553-upload-images-file-via-in-net-maui
Now, for me personally, I only need multiple image selection. So, if that's easier without the support for the other pieces, I would be happy. To be complete, I'm thinking others would need to select multiple videos.
From Ms. Reyes Blog Post....
private async void TakePhoto(object sender, EventArgs e)
{
FileResult photo = await MediaPicker.Default.PickPhotoAsync(new MediaPickerOptions
{
Title = "Select your photo"
});
// Here, add the code that is being explained in the next step.
}The new control would have something like this:
private async void TakePhoto(object sender, EventArgs e)
{
IEnumerable<FileResult> photos = await RadMediaPicker.PickPhotosAsync(new MediaPickerOptions
{
Title = "Select your photos"
});
// Here, add the code to loop through and process the selected images
}
Please let me know if you require additional information.