Hi,
I have an tap gesture issue with some controls on my samsung device (Galaxy A17 5G), especially CollectionView, Toolbar and probably others controls as well.
For example, when I select one or multiple items in the CollectionView, the tap gesture is not recognized properly and "works" randomly or not at all.
I tried with the Telerik.NET MAUI Controls app on Google Play Store and reproduce the issue on it (collectionview and toolbar).
When I use the sample app (or my app) with Vysor (screen mirroring), it works fine when I click on the items (using mouse) but it doesn't work when I tap on the item directly on the device.
It works fine on android emulator and on my other devices (Google Pixel 6a, 9a)
Environment (my app):
Device :
Has anyone else encountered this issue?
Thanks,
Franck

I have CollectionView sometimes I want it to be a flat format without grouping and other times I want it grouped. Basically depending on how the input data. I have figured out ways to have the group display nothing, but there is still a space for where the group header would be.
How could I go about this type of setup.
Basically something like:
if string.IsNullOrEmpty(GroupName)
//Don't group
else
//group
Hello,
We are having some issues figuring out why our custom appointments are missing icons(fontimage) whose visibility is controlled by a boolean.
First off, notice the book icon is only showing on the 2nd appointment, when it should be active on the first 3 appointments.
Then after going back and forth a few days without change or updating my list or any items on it we get the following:
The icon is now active on the 1st appointment for the same day, but not active for the 2nd anymore, and still not active for appointment 3.
We have checked the customAppointment and the boolean does get its boolean set to true for the relevant appointments. We do have the Copy and CopyFrom methods covering the boolean.
public bool showHomeworkIcon { get; set; }
public override IAppointment Copy()
{
var task = new kmdAppointment();
task.CopyFrom(this);
return task;
}
public override void CopyFrom(IAppointment other)
{
var task = other as kmdAppointment;
if (task != null)
{
this.Rooms = task.Rooms;
this.attachments = task.attachments;
this.Teachers = task.Teachers;
this.Description = task.Description;
this.SubjectCourses = task.SubjectCourses;
this.IsCancelled = task.IsCancelled;
this.AppointmentColor = task.AppointmentColor;
this.AppointmentSecondaryColor = task.AppointmentSecondaryColor;
this.homeworkList = task.homeworkList;
this.LessonAssignment = task.LessonAssignment;
this.hasHomework = task.hasHomework;
this.startEndString = task.startEndString;
this.showHomeworkIcon = task.showHomeworkIcon;
this.showLessonAssignmentIcon = task.showLessonAssignmentIcon;
}
base.CopyFrom(other);
}Our day template uses a radborder with a grid
<telerik:RadBorder CornerRadius="4"
Margin="1"
IsClippedToBounds="True"
BorderBrush="{Binding Occurrence.Appointment.AppointmentSecondaryColor}"
BorderThickness="4,0,0,0"
BackgroundColor="{Binding Occurrence.Appointment.AppointmentColor}">
<Grid RowSpacing="0">
<Grid.RowDefinitions>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<label Grid.Row="0"
Grid.ColumnSpan="3"/> //repeat labels for 1,3 2,3 and 4,3. 3 is * to force the rows below to be near the end.
<Image Grid.Row="4"
Grid.Column="1"
</Image>
<Image Grid.Row="4"
Grid.Column="2"
Margin="4, 0, 4, 4"
IsVisible="{Binding Occurrence.Appointment.showHomeworkIcon}">
<Image.Source>
<FontImageSource FontFamily="Material"
Glyph="{x:Static materialDesign:MaterialDesignIcons.BookOpenBlankVariantOutline}"
Color="{StaticResource BrandPrimary}"
Size="16" />
</Image.Source>
</Image>
</Grid>
</telerik:RadBorder>My guess is that the issue lies with the reusing of cells in whatever collectionview you build the appointments on, but I'm not sure.
dotnet sdk is 10.0.100-rc.2.25502.107 & 9.0.306 targeting dotnet 9, workload list says ios 26.0.10970-net10-rc.2, android 36.0.0-rc.2.332
using Telerik.UI.for.Maui 11.1.0
We can not repro it for now. Stack trace from our crash reports:
Message: AggregateException_ctor_DefaultMessage (TaskCanceledException_ctor_DefaultMessage) (TaskCanceledException_ctor_DefaultMessage) (TaskCanceledException_ctor_DefaultMessage) (TaskCanceledException_ctor_DefaultMessage) (TaskCanceledException_ctor_DefaultMessage) (TaskCanceledException_ctor_DefaultMessage)
I am developing a .NET MAUI application using a Telerik RadDataGrid bound to a very large database via Entity Framework.
Because I am using the Load-On-Demand feature to fetch data incrementally as the user scrolls, the grid only holds a partial subset of the data in memory. Therefore, I cannot rely on the grid's built-in client-side filtering or sorting or search.
I need an architecture where:
Grid State to LINQ: Changes to the Grid's FilterDescriptors or SortDescriptors trigger a reset of the Auto-Load collection and invoke an Expression Builder. This builder must generate dynamic LINQ-to-Entities queries to sort and filter the data at the database level before it is paged back to the UI.
Cascading Distinct Values: Since the component doesn't have all the data, the 'Distinct Values' list for column filters must also be queried from the server. These lists need to be context-aware (cascading), showing only values relevant to the currently active filters of other columns.
Can you please help ?

Hi. During the scroll into view (easy to repro with more or less large lists) the user can affect the RadCollectionView ItemsSource applying the search filter as DelegateFilterDescriptor and IFilter as a function. We would like to know the way how to synchronize both processes or cancel the scrolling.
Or would be good to make scroll into view as async.
ScrollItemIntoView(item, false)
The following crash happened:
System.IndexOutOfRangeException
Message: Arg_IndexOutOfRangeException
Telerik.Maui.Data.IndexStorage.ValueForIndex(Int32 index, Boolean approximate)
Telerik.Maui.Controls.RadCollectionView+<ScrollIndexIntoView>d__170.MoveNext()
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task, ConfigureAwaitOptions options)
Telerik.Maui.Controls.RadCollectionView+<>c__DisplayClass168_0+<<ScrollIndexIntoViewCore>b__0>d.MoveNext()
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
System.Threading.Tasks.Task+<>c.<ThrowAsync>b__128_0(Object state)
Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0()
Java.Lang.Thread+RunnableImplementor.Run()
Java.Lang.IRunnableInvoker.n_Run(IntPtr jnienv, IntPtr native__this)
Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V(_JniMarshal_PP_V callback, IntPtr jnienv, IntPtr klazz)

We are investigating functionality of MAUI controls before buying the kit and are stuck with the problem with RadChat/RadChatListView: we need to load more messages when user scrolled to top (or if it is already at the top), but there are no events/hooks that can be used to trigger page-loading method.
There are no events or attachable actions, and the only class ScrollMediator's members are fully consealed by internal directive and cannot be overriden/inherited/created either.
1. How to detect scroll position at the top/bottom?
2. How to initially scroll to certain message (aka unread one) instead of straight to bottom?
Please, help us in this matter or point out where it is discussed.
