When RadListView is in grid mode (SpanCount > 0), there is no spatial navigation with the keyboard.
Up and down arrows move the focused item, left and right arrows don't. (Also: it doesn't seem to be possible to style the focused item…)
Crude drawing:
Only the first column has keyboard navigation, up and down. It's invisible, though; internally, an item is focused and will execute ItemTap when pressing the return key, or will select the item when pressing the spacebar. That part is fine.
After clicking/tapping an item in any column after the first one and then pressing the down arrow, for example, we get this:
Pink is where we clicked/tapped, cyan is what's internally focused after pressing the down arrow.
Please note again that focus != selection.
Expected behavior:
Further suggestions:
Changing a property on an item that is involved with grouping and sorting and then removing and re-adding the item to the collection results in the list being in an invalid state (e.g. duplicate items, incorrect template, etc.)
Error message can be reproduced on iPhone 11 Simulator iOS 13.6
[UICollectionView] Invalid update: invalid number of items in section 0. The number of items contained in an existing section after the update (4) must be equal to the number of items contained in that section before the update (4), plus or minus the number of items inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of items moved into or out of that section (0 moved in, 0 moved out). - will perform reloadData. UICollectionView instance: <TKCollectionView: 0x7f8525b86600; baseClass = UICollectionView; frame = (0 0; 414 725); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x600001232bb0>; layer = <CALayer: 0x6000019b0520>; contentOffset: {0, 0}; contentSize: {414, 453}; adjustedContentInset: {0, 0, 0, 0}; layout: <TKListViewLinearLayout: 0x7f8524f5e400>; dataSource: <Telerik_XamarinForms_DataControlsRenderer_iOS_TKExtendedListView: 0x7f8524f5b590; frame = (0 0; 414 725); layer =
<CALayer: 0x6000019b03a0>>>; currentUpdate: [UICollectionViewUpdate - 0x7f8526897fc0: old:<UICollectionViewData: 0x6000025f4000> new<UICollectionViewData: 0x6000025f47e0> items:<(
"I(0,3)"
)>]
Hello,
I receive often a NullReferenceException in ListViewGroupHeader ArrangeOverride method.
The error happens only in UWP.
Unfortunately, I cannot create a project to reproduce the error.
Best regards,
when a new ObservableCollection is assigned to the listview's ItemsSource during load on demand, there is an inconsistency in the scrolling.
- On Android the listview is scrolled to the top immediately and showing items at the top of the listview.
-On iOS and UWP, the listview position is not changed.
Does the RadListView control support snap scrolling? I could not find any documentation on this.
ListViewLoadOnDemandCollection method is not triggering in iOS automatically when there is a need to display the items on the screen. We have to manually scroll the list view then the ListViewLoadOnDemandCollection triggers and give further data to show.
Things are working fine on Android platform.
The staggered layout lays out items in a staggered grid formation. the layout is available as follow:
Telerik Ui for Xamarin.iOS ListView
The BorderLocation property of ListViewItemStyle seems to either not be working correctly, or is severely limited in its capabilities. Although the Location enum is not marked with [Flags], the values 0, 1, 2, 4, 8, 15 seem to imply bit flags that should be able to get OR'd together. However, when trying to use Location.Top | Location.Bottom, the result is NO border at all.
Example:
public class BorderLocationExample : ContentPage
{
private readonly ListViewItemStyle BorderAll = new ListViewItemStyle
{
BorderColor = Color.Blue,
BorderLocation = Location.All,
BorderWidth = 8
};
private readonly ListViewItemStyle BorderTop = new ListViewItemStyle
{
BorderColor = Color.Blue,
BorderLocation = Location.Top,
BorderWidth = 8
};
private readonly ListViewItemStyle BorderTopAndBottom = new ListViewItemStyle
{
BorderColor = Color.Blue,
BorderLocation = Location.Top | Location.Bottom, // <-- DOESN'T WORK !!! These items have NO border at all.
BorderWidth = 8
};
public BorderLocationExample()
{
BackgroundColor = Color.Gray;
var items = new ObservableCollection<string>
{
"Item 1",
"Item 2",
"Item 3",
};
Content = new StackLayout
{
Orientation = StackOrientation.Vertical,
Children =
{
new RadListView
{
ItemsSource = items,
ItemStyle = BorderAll
},
new RadListView
{
ItemsSource = items,
ItemStyle = BorderTop
},
new RadListView
{
ItemsSource = items,
ItemStyle = BorderTopAndBottom
},
}
};
}
}
Follow this tutorial https://docs.telerik.com/devtools/xamarin/controls/listview/listview-features-load-on-demand#loading-mode-with-collection
It works on Android and iOS, but on UWP it is defaulting to Explicit mode and clicking the load button crashes the app.