We're getting these warnings during runtime on iOS (Telerik.UI.for.Maui 13.0.0):
Microsoft.Maui.Controls.LinearGradientBrush is already a child of Telerik.Maui.Controls.RadEffectsView. Remove Microsoft.Maui.Controls.LinearGradientBrush from Telerik.Maui.Controls.RadEffectsView before adding to Telerik.Maui.Controls.RadEffectsView.
Microsoft.Maui.Controls.SolidColorBrush is already a child of Telerik.Maui.Controls.RadBorder. Remove Microsoft.Maui.Controls.SolidColorBrush from Telerik.Maui.Controls.RadBorder before adding to Telerik.Maui.Controls.RadBorder.
App seems to run fine, but our logger (Sentry) gets flooded with warnings. Any way to resolve?
Expanding an element chain in the TreeView is quite cumbersome when using different descriptors with different templates, as the provided method Expand(IEnumerable itemPath) requires complex preparation and, depending on the context, different preparation mechanisms.
It would be desirable if the already existing method Expand(object dataItem) from the TreeViewAdapter could be made accessible directly through the TreeView.
As an additional bonus, it would be beneficial if the chain could be determined automatically based on the passed element.

Description:
We are experiencing an issue with the RadRichTextEditor on iPad when using the built-in InputAccessoryView buttons that appear above the virtual keyboard (Bold, Italic, Underline)
Observed Behavior:
  •  The buttons in the InputAccessoryView do not trigger formatting commands in the editor.
  •  The state of these buttons is not synchronized with the main RadRichTextEditor toolbar, pressing toolbar items in the toolbar does not update the corresponding buttons in the InputAccessoryView, and vice versa.
  •  This occurs consistently on iPad.
Expected Behavior:
  •  InputAccessoryView buttons should perform the corresponding formatting actions.
  •  Their state should be synchronized with the main toolbar buttons of the editor.
Environment
Maui - 9.0.120
Xcode 16.4
IPad 10th generation (simulator and real device)
See attached file

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 ?
