It appears that by the amount of problems that I have encountered so far that Telerik UI for .NET MAUI has not been tested at all on IOS.
Your own ControlSamples do not run for IOS.
Anyway..
Next problem.
IOS Specific only.
<telerik:RadComboBox ItemsSource="{Binding Items}"
Placeholder="Select Status"
IsDropDownClosedOnSelection="True"/>
note that to use the Telerik Custom Controls it is necessary to either add an x:name to each control, or dummy instantiate each one.
This can be done in MauiProgram.cs.
Add line
_ = new RadComboBox();
A runtime error occurs when using telerik:RadComboBox and the application will abort.
2022-08-05 10:24:05.765 Xamarin.PreBuilt.iOS[5889:422588] *** NSForwarding: warning: object 0x2837b0780 of class 'Telerik_Maui_InputElement_RadTextField' does not implement methodSignatureForSelector: -- trouble ahead
Hi Team,
When I use a RadEntry or Entry in the RadListView, it is fine when rendering flat data. However, when the items are grouped, the app has a native WinUI unhandled exception (that needs a 2nd instance of VS2022 to catch).
The only way to stop it was to not use an entry-like control like a Label.
Here is code to reproduce it, I've attached a runnable example
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:telerik="clr-namespace:Telerik.Maui.Controls;assembly=Telerik.Maui.Controls"
xmlns:telerikDataControls="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.Maui.Controls.Compatibility"
xmlns:telerikListView="clr-namespace:Telerik.XamarinForms.DataControls.ListView;assembly=Telerik.Maui.Controls.Compatibility"
x:Class="EntryTests.MainPage">
<Grid>
<telerikDataControls:RadListView x:Name="rulesListView"
ItemsSource="{Binding Clients}"
VerticalScrollBarVisibility="Always">
<telerikDataControls:RadListView.GroupDescriptors>
<telerikListView:PropertyGroupDescriptor PropertyName="Username" />
</telerikDataControls:RadListView.GroupDescriptors>
<telerikDataControls:RadListView.ItemTemplate>
<DataTemplate>
<telerikListView:ListViewTemplateCell>
<!-- WORKS -->
<!--<Label Text="{Binding Username}" FontSize="14"/>-->
<!-- HARD CRASH -->
<telerik:RadEntry Text="{Binding Username}" FontSize="14" />
</telerikListView:ListViewTemplateCell>
</DataTemplate>
</telerikDataControls:RadListView.ItemTemplate>
</telerikDataControls:RadListView>
</Grid>
</ContentPage>
Version Note: The repro app is using UI for MAUI v0.9.0 because it was tested by Lance McCarthy with both 0.8.0 and 0.9.0 (this 0.9.0 was built on May 11th).
I used RadListView in a Grid, Grid has ColumnSpacing,
for example:
<Grid
RowSpacing="1"
ColumnSpacing="1"
WidthRequest="305"
HeightRequest="303"
BackgroundColor="#FF454545">
<Grid.RowDefinitions>
<RowDefinition Height="36"/>
<RowDefinition Height="28"/>
<RowDefinition Height="82"/>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="152"/>
<ColumnDefinition Width="152"/>
</Grid.ColumnDefinitions>
<telerik:RadListView x:Name="listView" Grid.Row="5" Grid.ColumnSpan="2" WidthRequest="305">
<telerik:RadListView.ItemTemplate>
<DataTemplate>
<telerik:ListViewTemplateCell>
<telerik:ListViewTemplateCell.View>
<Grid BackgroundColor="Gray">
<Label Margin="10" Text="{Binding Name}" />
</Grid>
</telerik:ListViewTemplateCell.View>
</telerik:ListViewTemplateCell>
</DataTemplate>
</telerik:RadListView.ItemTemplate>
</telerik:RadListView>
</Grid>
I found the RadListView.Width is 304(ColumnDefinition plus), not 305.
When using .net maui multi-window and adding RadListView the following exception occurs on some mac machines:
Terminating app due to uncaught exception 'NSObjectNotAvailableException', reason: 'UIAlertView is deprecated and unavailable for UIScene based applications, please use UIAlertController!'
scrolling is not smooth (items jump up/down when scrolling)
Tested on Samsung S9+ and S10
<VerticalStackLayout>
<Label
Text="Welcome to .NET MAUI!"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Label Text="Status:" />
<telerik:RadComboBox/>
</VerticalStackLayout>
This works for Android. IOS gives error "Cannot resolve type "http://schemas.telerik.com/2022/xaml/maui:telerik:RadComboBox"
But telerik:RadCheckBox does not have the same problem.
<VerticalStackLayout>
<Label
Text="Welcome to .NET MAUI!"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Label Text="Status:" />
<telerik:RadCheckBox IsChecked="True"/>
</VerticalStackLayout>
Will work for IOS and Android.
How do I fix this?
I am using VS Community 2022 Preview
Version 17.3.0 Preview 6.0
and Telerik.UI.for.Maui.Trial 2.2.0
When update to 2.2.0, Running by IOS Emulator failed,but version 2.1.0 is worked.
Error Msg : The type initializer for 'SkiaSharp.SKObject' threw an exception.
Please refer to image.
Indicator and content are not displayed when IsBusy property is dynamically changed.
On WinUi when window is resized the content/animation is displayed.
On Android, only the content or only the animation is displayed. rotating the device does not solve the issue.
Run SDKBrowserMaui example on WinUI
Navigate to DataGrid->LoadOnDemandCategory->LoadOnDemandExmaple
Start scrolling the grid using the scrollbar
Crash occurs on WinUI.
When setting the second TabItem IsSelected property of Tabview, it does not take effect, and the first TabItem is still selected,and the second one alsodisplays the selection style.
Code
<telerik:RadTabView x:Name="tabView" AutomationId="tabView">
<telerik:TabViewItem HeaderText="Home">
<Label Margin="10" Text="This is the content of the Home tab" />
</telerik:TabViewItem>
<telerik:TabViewItem HeaderText="Folder" IsSelected="True">
<Label Margin="10" Text="This is the content of the Folder tab" />
</telerik:TabViewItem>
<telerik:TabViewItem HeaderText="View">
<Label Margin="10" Text="This is the content of the View tab" />
</telerik:TabViewItem>
</telerik:RadTabView>
Please Refer to the attachment for the results.
Hi Team,
You can replicate this behavior with the following code in a preview14 MAUI project with Telerik UI for MAUI v0.6.0.
Notes:
<?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="MyApp.MainPage"
BackgroundColor="{DynamicResource SecondaryColor}">
<Grid x:Name="RootGrid">
<Label Text="Stuff" />
</Grid>
</ContentPage>
using Telerik.XamarinForms.Primitives;
namespace MyApp;
public partial class MainPage : ContentPage
{
RadPopup popup;
public MainPage()
{
InitializeComponent();
popup = new RadPopup();
popup.PlacementTarget = this;
popup.Placement = PlacementMode.Center;
popup.IsModal = true;
popup.OutsideBackgroundColor = Color.FromArgb("#FF0000");
popup.Content = new Label { Text = "Hello Telerik Popup!" };
}
}
at Telerik.RadMauiControlsHelper.<>c.<.cctor>b__0_0()
at Telerik.RadMauiCoreHelper.get_MauiContext()
at Telerik.XamarinForms.Primitives.RadPopup.SetPopupIsOpen(Boolean value)
at Telerik.XamarinForms.Primitives.RadPopup.UpdatePopup()
at Telerik.XamarinForms.Primitives.PopupBase.OnPlacementTargetChanged()
at Telerik.XamarinForms.Primitives.PopupBase.<>c.<.cctor>b__113_3(BindableObject b, Object o, Object n)
at Microsoft.Maui.Controls.BindableObject.SetValueActual(BindableProperty property, BindablePropertyContext context, Object value, Boolean currentlyApplying, SetValueFlags attributes, Boolean silent)
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value, Boolean fromStyle, Boolean checkAccess)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value)
at Telerik.XamarinForms.Primitives.PopupBase.set_PlacementTarget(VisualElement value)
Android.Views.WindowManagerBadTokenException: 'Unable to add window -- token null is not valid; is your activity running?'
Series labels are not properly rotated with LabelFitMode set to "Rotate".
On iOS it seems the issue happens only on simulator, on iPhone device the labels are aligned (rotated) as expected.
Legend is not fully visualized, the square color is missing, only the text is displayed.
on iOS it seems the issue happens only on simulator, on iPhone device SE 2022 the legend is fully displayed
If you create an implicit style for DatePicker, for example, like this:
<Style TargetType="telerikInput:RadDatePicker">
<Setter Property="SpinnerFormat" Value ="yyy/MMM/dd"/>
<Setter Property="DisplayStringFormat" Value ="yyyy/MMM/dd"/>
<Setter Property="IsClearButtonVisible" Value ="True"/>
<Setter Property="IsToggleButtonVisible" Value ="True"/>
</Style>
an "object reference not set to an instance of an object" exception is raised.
As a temporary workaround, set the SpinnerFormat and DisplayStringFormat properties directly to the DatePicker instance.
Popup has incorrect position on iOS, Android devices are rotated
Popup has incorrect position on Windows when window is resized.
Check Telerik .NET MAUI Controls Sample app -> Popup Example on windows resize the window the popup is not centered, it changes its position.
on android, iOS rotate the device landscape, popup does not expand to cover the screen area.