Telerik Forums
UI for .NET MAUI Forum
0 answers
34 views

Hello everyone,

Here are the highlights of the new online resources we published this week from 10 Nov 2025 to 17 Nov 2025:

Article: https://www.telerik.com/maui-ui/documentation/ai/changelog
Summary: Use this changelog to track versioned updates to the Telerik UI for .NET MAUI AI features, including new functionality, bug fixes, API changes, and breaking changes across AI components and integrations. Refer to it to plan upgrades, verify .NET MAUI and platform compatibility, and adjust your code for updated properties, methods, and configuration options.

Article: https://www.telerik.com/maui-ui/documentation/controls/chat/events
Summary: The article documents the RadChat events in Telerik UI for .NET MAUI, including their signatures and EventArgs, and shows how to wire them up. You will use these events to handle user interactions such as sending a message, tapping a message item, and selecting suggestions, enabling custom message processing and UI updates.

Article: https://www.telerik.com/maui-ui/documentation/controls/scheduler/date
Summary: Learn how the Scheduler Date property in Telerik UI for .NET MAUI controls the displayed range per view—day shows the specified date, week shows the week containing it, and month shows the corresponding month. The article covers setting and binding Date to navigate programmatically, and explains how the control normalizes the value to the view’s start (for example, the first visible day of the week or month).

Article: https://www.telerik.com/maui-ui/documentation/controls/skeleton/styling
Summary: You can style the Telerik RadSkeleton for .NET MAUI by defining XAML Styles and overriding the control’s theme resource keys to customize brushes, corner radius, and shimmer animation. The article lists the relevant properties and resource keys and shows how to apply per-control or app-wide changes via ResourceDictionary for consistent light/dark theming.

Article: https://www.telerik.com/maui-ui/documentation/controls/skeleton/overview
Summary: Use the Skeleton control in Telerik UI for .NET MAUI to display placeholder shapes with optional shimmer animation while your views load data. Define skeleton items yourself or wrap existing content in a SkeletonContainer to auto-generate placeholders, and configure animation, colors, layout, and visibility through the available properties. The article covers setup, key APIs, and examples for pages and item templates to help you add predictable loading skeletons to your UI.

Article: https://www.telerik.com/maui-ui/documentation/controls/chat/styling/entry
Summary: This article shows you how to style the message input Entry in the Telerik UI for .NET MAUI Chat (RadChat) using XAML Styles. You’ll target the chat’s Entry to set placeholder text, font, text and placeholder colors, background, border thickness, corner radius, and padding, with sample XAML demonstrating the applied style.

Article: https://www.telerik.com/maui-ui/documentation/controls/skeleton/animation
Summary: This article shows you how to enable and configure animation for the Telerik .NET MAUI Skeleton control, including choosing a built-in animation type, adjusting duration/speed, and toggling animation on or off. It provides XAML and C# examples for starting and stopping the animation at runtime and setting repeat behavior and related options.

Article: https://www.telerik.com/maui-ui/documentation/controls/chat/styling/buttons
Summary: Learn how to style the buttons in Telerik RadChat for .NET MAUI, including the composer’s Send and Attachment buttons and the Suggested Action buttons. The article covers setting the chat’s button style properties, applying XAML styles through resource dictionaries, customizing icons, colors, size, and typography, and using VisualStateManager to define Normal, Pressed, and Disabled states.

Article: https://www.telerik.com/maui-ui/documentation/controls/skeleton/custom-view
Summary: This article shows how to provide a custom view for the Telerik UI for .NET MAUI RadSkeleton, letting you define the exact placeholders displayed while data loads. You’ll learn the XAML setup to wrap your content, build a skeleton layout that mirrors your view, control the loading state from your view model, and adjust shapes, sizes, colors, and animation.

Article: https://www.telerik.com/maui-ui/documentation/controls/chat/styling/messages
Summary: Learn how to style messages in Telerik RadChat for .NET MAUI, including distinct appearance for incoming vs outgoing and system messages, avatars, and timestamps. You will use XAML styles and templates to customize bubble colors, typography, corner radius, spacing, and alignment, applying global styles or conditionally varying per-message appearance based on message metadata or selectors.

Feel free to check them out and share your thoughts!

The Telerik Team

---------------------------------------------------------------------------------------------------------------------------------------------------------

Hello everyone,

Here are the highlights of the new online resources we published this week from 29 Oct 2025 to 05 Nov 2025:

Article: https://www.telerik.com/blogs/crypto-financial-charts-net-maui-apps
Summary: You’ll implement crypto and financial charts in .NET MAUI using the Telerik UI for .NET MAUI Chart by configuring candlestick and OHLC series, binding time-series price/volume data with MVVM, and adding indicators (SMA/EMA), DateTime axes, trackball tooltips, and pan/zoom behaviors. The article walks you through fetching market data, mapping models, enabling real-time updates, and provides XAML/C# examples for series, axes, behaviors, and indicator configuration.

Feel free to check them out and share your thoughts!

The Telerik Team

---------------------------------------------------------------------------------------------------------------------------------------------------------

Hello everyone,

Here are the highlights of the new online resources we published this week from 20 Oct 2025 to 27 Oct 2025:

Article: https://www.telerik.com/blogs/net-maui-masked-entry-secure-input-credit-cards-pins-account-numbers
Summary: Learn how to use Telerik UI for .NET MAUI RadMaskedEntry to capture sensitive numeric input—credit cards, PINs, and account numbers—with masking, obfuscation, and validation. The article shows how to define mask patterns and tokens, configure password and prompt characters, control literals in the bound value, handle paste and keyboard input, and react to events like ValueChanged and MaskCompleted with XAML and C# examples. After reading, you can enforce formats (e.g., 0000 0000 0000 0000), hide entered characters, and reliably validate and parse the underlying value in an MVVM setup.

Feel free to check them out and share your thoughts!

The Telerik Team

Telerik
Top achievements
Rank 1
Iron
 updated question on 17 Nov 2025
0 answers
41 views

Starting today, I get a build error when building a project that includes Telerik MAUI controls. This happens on an Azure hosted build agent, also locally when running the dotnet build command. The same build worked before, i.e. there are no changes on my part. 

the following error messages occur:

error MSB4216: Could not run the "TelerikThemingTask" task because MSBuild could not create or connect to a task host with runtime "NET" and architecture "x64".  Please ensure that (1) the requested runtime and/or architecture are available on the machine, and (2) that the required executable "C:\Program Files\dotnet\sdk\9.0.307\MSBuild.dll" exists and can be run.

error MSB4216: Could not run the "ResolveTelerikProducts" task because MSBuild could not create or connect to a task host with runtime "NET" and architecture "x64".  
Please ensure that (1) the requested runtime and/or architecture are available on the machine, and (2) that the required executable "C:\Program Files\dotnet\sdk\9.0.307\MSBuild.dll" exists and can be run.

 

 

Didi
Top achievements
Rank 1
 asked on 14 Nov 2025
0 answers
268 views

The old https://nuget.telerik.com/nuget server is obsolete since November 2024. If you use it the following error occurs: 

Failed to retrieve information about 'Telerik.UI.for.Maui' from remote source 'https://nuget.telerik.com/nuget/FindPackagesById()?id='Telerik.UI.for.Maui'&semVerLevel=2.0.0'.

As a solution use the v3 server. To redirect your feed to the NuGet v3 protocol, all you have to do is to change your NuGet package source URL to https://nuget.telerik.com/v3/index.json The new v3 API is faster, lighter, and reduces the number of requests from NuGet clients. The new v3 protocol offers faster package searches and restores, improved security, and more reliable infrastructure.  For more details about the Telerik NuGet Server review the Telerik MAUI NuGet Server documentation.

Didi
Telerik team
 updated question on 27 Nov 2024
1 answer
8 views
Hi everyone,
I'm currently using a RadDataForm inside a Popup to handle client creation in a .NET MAUI application. The form includes quite a few fields, and I’d like to improve the user experience by organizing them into thematic sections (e.g., Personal Info, Address, Contact) using a RadTabView or a similar approach.
My goal is to either:
Display subsets of the same DataForm fields across different tabs, or
Use multiple DataForm—one per tab—while maintaining consistent validation and a unified save process.
Is this kind of layout supported within a Popup? Any recommendations or best practices for structuring this scenario?
Thanks in advance for your guidance!
Didi
Telerik team
 answered on 20 Nov 2025
1 answer
7 views

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 ?

     

     

Didi
Telerik team
 answered on 20 Nov 2025
1 answer
12 views

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)


Didi
Telerik team
 answered on 13 Nov 2025
2 answers
12 views
I don't want to use the colors in the them.  I want to set them myself for each DataItem.  How is that done in a pie chart?
Robbe
Top achievements
Rank 1
Iron
Iron
 answered on 10 Nov 2025
0 answers
16 views

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

inLogic
Top achievements
Rank 1
Iron
 updated question on 30 Oct 2025
1 answer
16 views

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.

 

 

Didi
Telerik team
 answered on 29 Oct 2025
0 answers
26 views

Hi everyone,

I'm running into an issue with the Telerik PDF Viewer in a .NET MAUI project.

Environment:

  • Telerik.UI.for.Maui: 11.1.0

  • .NET MAUI: 9.0.111

  • .NET version: net9.0-ios

  • Platform: iOS

Problem:
Scrolling inside the RadPdfViewer does not work on iOS. The same code works as expected on Android — I can scroll through the PDF content normally. On iOS, the viewer loads and displays the first page correctly, but it’s completely static: no vertical scroll or swipe works. However, navigation using PdfViewerNavigateToNextPageToolbarItem or PdfViewerNavigateToPreviousPageToolbarItem still functions as expected.

<ContentPage>
    <Grid RowDefinitions="Auto, *">
        <telerik:RadPdfViewerToolbar x:Name="pdfViewerToolbar"
                                     OverflowMode="Scroll"
                                     PdfViewer="{x:Reference pdfViewer}">
            <telerik:PdfViewerFitToWidthToolbarItem />
            <telerik:PdfViewerNavigateToPreviousPageToolbarItem />
            <telerik:PdfViewerNavigateToNextPageToolbarItem />
            <telerik:PdfViewerZoomInToolbarItem />
            <telerik:PdfViewerZoomOutToolbarItem />
            <telerik:PdfViewerSearchNavigationToolbarItem />
            <telerik:PdfViewerToggleLayoutModeToolbarItem />
        </telerik:RadPdfViewerToolbar>
        <telerik:RadPdfViewer x:Name="pdfViewer"
                              Grid.Row="1"
                              AutomationId="pdfViewer"
                              BackgroundColor="{StaticResource White}"
                              IgnoreSafeArea="False"
                              IsClippedToBounds="True"                              
                              LayoutMode="ContinuousScroll"
                              Source="{Binding PdfFile}" />
    </Grid>
</ContentPage>

Has anyone else encountered this issue, or is there a known workaround/fix for iOS?

Thanks in advance!

Jeff


Jeff
Top achievements
Rank 1
 asked on 20 Oct 2025
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?