when setting MaxLength to RadEntry and this Entry is used in the Masked control template, the following exception occurs:
System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. (Parameter 'length') at System.String.ThrowSubstringArgumentOutOfRange(Int32 startIndex, Int32 length) at System.String.Substring(Int32 startIndex, Int32 length) at Telerik.RadStringHelper.Replace(String inText, Int32 startIndex, Int32 length, String replacementString) at Telerik.Maui.Handlers.RadMaskedEntryHandler.OnShouldChangeCharactersEvent(Object sender, ShouldChangeCharactersEventArgs args) at Telerik.Maui.Platform.RadMauiEntry.OnShouldChangeCharacters(Object sender, ShouldChangeCharactersEventArgs args) at Telerik.Maui.Handlers.RadTextFieldDelegate.ShouldChangeCharacters(UITextField textField, NSRange range, String replacementString)
After updating our Maui application to Maui version 8.0.90, the Entry controls in the WinUI version stopped responding to WidthRequest, HorizontalOptions, or parent container sizes. I thought it was just a Maui problem, but in the relevant issue's notes, I saw that users were having trouble duplicating it unless Telerik UI for .NET Maui was installed (https://github.com/dotnet/maui/issues/24783).
So I created a test app that contains a few Entry controls in various containers:
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WinUIEntryBug.MainPage">
<ScrollView>
<VerticalStackLayout
Padding="30,0"
Spacing="25">
<Border>
<Entry />
</Border>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Entry Grid.Column="0"></Entry>
</Grid>
<Frame>
<Entry />
</Frame>
<Entry />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Without the Telerik components added to the project, the Entry boxes render correctly:
But, when I add a reference to Telerik UI for .NET Maui version 7.1.0 (latest at the time this was written), I get this:
Note: I didn't even add UseTelerik() to the Builder in the MauiProgram.cs, just added the Nuget package.
Changing the WidthRequest, HorizontalOptions, MinWidthRequest, etc. does not affect their size. They do render correctly in iOS and Android, though.
If I then remove the UI for .NET Maui Nuget package, they go back to working.
In our main application, we are heavily dependent on Telerik components and have a substantial number of customers using the Windows version of our application, so this heavily impacts our ability to ship. Particularly since the Maui 8.0.90 fixes other bugs that we needed addressed.
I've attached my sample project with the Telerik UI for .NET Maui package installed. You can remove it to see the normal operation of the Entry boxes.
when the tab IsEnabled is set to False -> the style of the disabled tab changes, but the the disabled tab is still clickable.
when the tab IsVisible is set to False -> the tab is not visible, but its content is still visible.
"System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Maui.Controls.Compatibility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.'"
Occurs when creating a blank .net maui project using .net9 and adding Telerik MAUI NuGet Package latest version 8.0.0
Repro steps:
1. Create a new dotnet9 basic project in visual studio. 2. Launch it on windows. it runs. 3. Add the Telerik.UI.for.Maui.Trial package, version 8. (don't bother adding the UseTelerik line to MauiProgram.cs, it'll fail either way). 4. Clean and Rebuild the solution. 5. Debug the app on windows again. It fails on launch with a file not found error that seems to relate to: "Exception thrown: 'System.IO.FileNotFoundException' in Telerik.Maui.Controls.Compatibility.dll" System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Maui.Controls.Compatibility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.'
The DatePicker control uses DateTime values for all date properties like Date, DefaultHighlightedDate, MinimumDate, MaximumDate, etc.
With .NET 6 a new DateOnly type was introduced. It would be great if the Date(Only)Picker would support it as well.
For now, I created a custom DateOnlyToDateTime Converter and use it to bind the DateOnly properties from the ViewModel. But native support would be great.
The TimePicker control uses TimeSpan values for all time properties like Time, DefaultHighlightedTime, MinimumTime, MaximumTime, etc.
With .NET 6 a new TimeOnly type was introduced. It would be great if the Time(Only)Picker would support it as well.
For now, I created a custom TimeOnlyToTimeSpan Converter and use it to bind the TimeOnly properties from the ViewModel. But native support would be great.
Hi Team,
Please consider adding a way to cancel a group's expand/collapse action when the user taps on the group header.
For example, through a GroupTapping event handler that fires just before GroupTapped, and we can execute logic that prevents the operation:
private void RadCollectionView_OnGroupTapping(object sender, RadTappingEventArgs<GroupContext> e)
{
if (e.Data.Key.ToString() == "GroupToStayPermanentlyExpanded")
{
e.Cancel();
}
}
// which uses this imaginary event args with Cancel method
public class RadTappingEventArgs<T>(T data) : RadTappedEventArgs<T>(data)
{
public void Cancel()
{
// prevents GroupTapped event
}
}
Thank you,
Rodrigo