I am reporting a button-sizing issue in Telerik UI for .NET MAUI RadCollectionView on iOS. A recycled item displays the correct button text but can retain the width allocated for the previous item’s longer text.
Environment
• Telerik UI for .NET MAUI 15.0.0; also reproduced with 14.1.0.
• .NET 10, Microsoft.Maui.Controls 10.0.80.
• Platform: iOS.
• No exception or error code accompanies the layout failure.
Reproduction sample: CollectionViewButtonSizingRepro.zip
The sample displays Telerik RadCollectionView and the built-in MAUI CollectionView side by side. Both use the same item template: Grid → Telerik RadButton, with no button width request. Each collection has independent data.
Telerik uses automatic item length ( ItemLength="-1" ); MAUI uses MeasureAllItems . There are no custom handlers, manual recycling, or layout workarounds.
Steps to reproduce
1. Launch the sample on iOS. All buttons initially display Download.
2. Tap several buttons in the Telerik pane. Their text changes to Downloaded, requiring a wider button.
3. Scroll those rows completely out of view and continue through untouched Download items. Try both continuous scrolling and scrolling with pauses.
4. Repeat independently in the MAUI pane.
Expected: After recycling, each button is sized for its current text and image.
Actual: In the Telerik pane, a Download button can retain the wider allocation from the previous Downloaded state, leaving incorrect spacing. The same template does not reproduce the issue in the MAUI CollectionView pane. Upgrading to Telerik 15.0.0 does not resolve it.
Earlier diagnostics in our original application showed correct fresh button measurement after rebinding, but a stale arranged width without a corrective child arrangement when the footer’s bounds remained unchanged.
Thanks,
Mingxiao Ye
When having for example device set to US culture , the TimePicker shows 12h time format, which is correct.
If you want to keep the US culture but want to use the 24h time format, the TimePicker does not apply the format, it still uses 12h time format.
The same behavior happens in the time part of the DateTimePicker
The ItemsSource of the views is populated in the ViewModel of the page. This is done in a command that is triggered by the NavigatedTo event of the page, which is forwarded via EventToCommandBehavior from the Maui Toolkit.
When using the RadCollectionView the loaded items are no longer displayed.
When the ObservableCollection of the items is completely reconstructed and reassigned the display works.
Null ref exception when getting value from a cell:
Exception.Message= Object reference not set to an instance of an object.
at Telerik.Maui.Data.PropertyInfoFieldInfo.GetValue(Object item)
at Telerik.Maui.Controls.DataGrid.CellsController`1.GetCellModel(IItemInfoNode parentRow, ItemInfo columnItemInfo, Int32 rowLine, Int32 columnLine, Boolean& preparedModel)
at Telerik.Maui.Controls.DataGrid.CellsController`1.GenerateCellsForRow(IItemInfoNode rowModel, Int32 rowSlot)
at Telerik.Maui.Controls.DataGrid.NodePool`2.GenerateModelsForInfos(IList`1 itemInfos, ModelGenerationContext modelGenerationContext, MeasureContext measureContext)
at Telerik.Maui.Controls.DataGrid.NodePool`2.MeasureForward(MeasureContext& context)
at Telerik.Maui.Controls.DataGrid.NodePool`2.MeasureVertically(RadSize availableSize, Double offset, Double verticalBuffer)
at Telerik.Maui.Controls.DataGrid.NodePool`2.OnMeasure(RadSize availableSize, Double offset, Double verticalBuffer)
at Telerik.Maui.Controls.DataGrid.GridModel.MeasureCells(RadSize availableSize)
at Telerik.Maui.Controls.DataGrid.DataGridContentLayout.MeasureChildren(Double widthConstraint, Double heightConstraint)
at Microsoft.Maui.Platform.MauiPanel.MeasureOverride(Size availableSize)
at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
When a RadPopup's content contains nested ContentViews and the Label's (Formatted)Text is assigned after the popup has been opened (IsOpen = true), the popup does not resize to fit the new content, so the text is clipped. Assigning the same text before opening renders correctly.
Steps to reproduceIf the AutoComplete is nested inside a modal Popup and Unfocus() is called on SuggestionItemSelected or Completed, the cursor/focus stays within the AutoComplete.
The same does not happen (the AutoComplete is properly unfocused) when the control is placed in MainPage.
When adding a ComboBox in a page and navigating back from this page to another page, the app crashes.
PlatformView cannot be null here
StackTrace = " at Microsoft.Maui.Handlers.ViewHandler`2.get_PlatformView()\r\n at Telerik.Maui.Handlers.RadBorderHandler.MapBackgroundColor(RadBorderHandler handler, IRadBorder border)\r\n at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0.<Add>b__0(IElementH...
Workaround:
If I wrap that command call in an ICommand then no issues.
Null reference exception occurs with maui 10.0.90
Just add the datagrid definition in xaml or code behind and exception occurs.
Stack-trace:
at Microsoft.Maui.Controls.BindableObject.ApplyBindings(Boolean fromBindingContextChanged)
at Microsoft.Maui.Controls.BindableObject.SetInheritedBindingContext(BindableObject bindable, Object value)
at Microsoft.Maui.Controls.Element.SetChildInheritedBindingContext(Element child, Object context)
at Microsoft.Maui.Controls.TemplatedPage.SetChildInheritedBindingContext(Element child, Object context)
at Microsoft.Maui.Controls.Element.SetLogicalChildBindingContext(BindableObject child, Object bc)
at Microsoft.Maui.Controls.BindableObjectExtensions.PropagateBindingContext[T](BindableObject self, IEnumerable`1 children, Action`2 setChildBindingContext)
at Microsoft.Maui.Controls.Element.OnBindingContextChanged()
at Microsoft.Maui.Controls.VisualElement.OnBindingContextChanged()
at Microsoft.Maui.Controls.Page.OnBindingContextChanged()
at Microsoft.Maui.Controls.ContentPage.OnBindingContextChanged()
at Microsoft.Maui.Controls.BindableObject.BindingContextPropertyChanged(BindableObject bindable, Object oldvalue, Object newvalue)
at Microsoft.Maui.Controls.BindableObject.OnBindablePropertySet(BindableProperty property, Object original, Object value, Boolean didChange, Boolean willFirePropertyChanged)
at Microsoft.Maui.Controls.Element.OnBindablePropertySet(BindableProperty property, Object original, Object value, Boolean changed, Boolean willFirePropertyChanged)
at Microsoft.Maui.Controls.BindableObject.SetValueActual(BindableProperty property, BindablePropertyContext context, Object value, Boolean currentlyApplying, SetValueFlags attributes, SetterSpecificity specificity, Boolean silent)
at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes, SetterSpecificity specificity)
at Microsoft.Maui.Controls.BindableObject.SetValue(BindableProperty property, Object value)
at Microsoft.Maui.Controls.BindableObject.set_BindingContext(Object value)