Popup:
Calling
IsOpen = true,
IsOpen = false,
IsOpen = true,
IsOpen = false,
while the last IsOpen update isn't ready, kills the Popup.
It works async, even if animations are set to none/0s and there is no public event to validate the last update is fully done (Popup opened/closed)
In my case i have a popup opened, while a search operation is running in the background.
If this background search returns too fast and i set IsOpen to false, the update is ignored and the popup keeps in an opened state.
I tested Android and iOS only. Other platforms i cannot test at the moment.
Given the following implementation of the Combobox i observ different behaviour if the bound item is a enum or a class.
<telerik:RadComboBox x:Name="a"
ItemsSource="{Binding CloudProviders}"
SelectedItem="{Binding SelectedCloudProvider}"
IsClearButtonVisible="False">
<telerik:RadComboBox.ItemTemplate>
<DataTemplate>
<Grid HeightRequest="40"
Padding="10">
<Label Text="{Binding Title}"
TextColor="{DynamicResource DisabledTextColor}"
FontSize="14" />
</Grid>
</DataTemplate>
</telerik:RadComboBox.ItemTemplate>
<telerik:RadComboBox.SelectedItemTemplate>
<DataTemplate>
<Grid HeightRequest="40"
Padding="10">
<Label Text="{Binding Title}"
TextColor="{DynamicResource DisabledTextColor}"
FontSize="14" />
</Grid>
</DataTemplate>
</telerik:RadComboBox.SelectedItemTemplate>
</telerik:RadComboBox>
If the Itemssource is a Array of a enum type it works as intended.
If the Itemssource is a Array of classes the initial selected display member is not visible. The moment i tap into the closed combobox, the selected member is visible.
The attached screenshots show the page after loading and after touching into the white area(combobox) once.
For Localization and more details, we want to use classes. Is this a bug or do we have a issue in our code here?
It took me about 2 days, but finally i've reached out a repo out of the real world app, where the iOS RadListView crashes the app.
Start this repo app on a iPhone 15 Simulator:
https://github.com/baaaaif/TelerikListViewCrash
The ListView crashes the app when the cell is quite high and the height of the list and the height of the cell reach a certain (unknown) ratio
This is in the logs right before the crash :
Native Crash Reporting
TelerikListViewCrash : -[TKListViewLayoutChange applyToAll:] 0x1023126e0 - /Users/nicokuenzler/Library/Developer/CoreSimulator/Devices/47FE3DF0-D39D-427A-9E82-0FCD7B14D208/data/Containers/Bundle/Application/88F8A1C5-46EB-4C80-A80D-A2699030842A/TelerikListViewCrash.app/TelerikListViewCrash : -[TKListViewLayoutChangeManager optimize] 0x10237e174 - /Users/nicokuenzler/Library/Developer/CoreSimulator/Devices/47FE3DF0-D39D-427A-9E82-0FCD7B14D208/data/Containers/Bundle/Application/88F8A1C5-46EB-4C80-A80D-A2699030842A/TelerikListViewCrash.app/TelerikListViewCrash : -[TKListViewLinearLayout layoutAttributesForElementsInRect:] 0x184a7f6c4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionViewData _layoutAttributesForElementsInRectForMapping:] 0x185347778 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[_UICollectionViewDataAttributesMap _validateLayoutInRect:] 0x184a81770 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionViewData validateLayoutInRect:] 0x184a824d4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionViewData layoutAttributesForElementsInRect:] 0x184a444b4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionView _updateVisibleCellsNow:] 0x184a451c8 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionView _updateVisibleCellsNow:] 0x184a49ec4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionView layoutSubviews] 0x10240bce4 - /Users/nicokuenzler/Library/Developer/CoreSimulator/Devices/47FE3DF0-D39D-427A-9E82-0FCD7B14D208/data/Containers/Bundle/Application/88F8A1C5-46EB-4C80-A80D-A2699030842A/TelerikListViewCrash.app/TelerikListViewCrash : -[TKCollectionView layoutSubviews]
I would like to draw attention to this at an early stage.
When using MAUI Nightly 8.0.20-nightly.10376, the app crashes immediately upon startup if you set Telerik Popup Settings in the MAUI Styles
See min repro example https://github.com/baaaaif/MauiNightlyCrash
<MauiVersion>8.0.20-nightly.10376</MauiVersion>
<Style TargetType="telerik:RadTimePicker">
<Setter Property="PopupSettings">
<Setter.Value>
<telerik:PickerPopupSettings IsHeaderVisible="False" />
</Setter.Value>
</Setter>
</Style>
From the inner Exception...:
Name | Value | Type | |
---|---|---|---|
◢ | InnerException | {"Object reference not set to an instance of an object."} | System.Exception {System.NullReferenceException} |
at Microsoft.Maui.Controls.AppThemeBinding.AppThemeProxy..ctor(Element parent, AppThemeBinding binding) at Microsoft.Maui.Controls.AppThemeBinding.Apply(Object context, BindableObject bindObj, BindableProperty targetProperty, Boolean fromBindingContextChanged, SetterSpecificity specificity) at Microsoft.Maui.Controls.BindableObject.SetBinding(BindableProperty targetProperty, BindingBase binding, SetterSpecificity specificity) at Microsoft.Maui.Controls.BindableObject.SetBinding(BindableProperty targetProperty, BindingBase binding) at Microsoft.Maui.Controls.BindableObjectExtensions.SetAppTheme[T](BindableObject self, BindableProperty targetProperty, T light, T dark) at Microsoft.Maui.Controls.BindableObjectExtensions.SetAppThemeColor(BindableObject self, BindableProperty targetProperty, Color light, Color dark) at Telerik.Maui.Controls.PickerPopupSettings.OnPopupOutsideBackgroundColorPropertyChanged(Color color) at Telerik.Maui.Controls.PickerPopupSettings..ctor() at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)