Unplanned
Last Updated: 14 Apr 2025 11:35 by Stephen

Provide a built it way to notify the parent group when the items in the nested groups are changed. 

For example, there is no PropertyChanged or CollectionChanged notification that we can hook in to in order to detect updates in parent group headers when the count changes in a subgroup. Only the leaf group headers get updated, but not the parents.

 

Unplanned
Last Updated: 04 Apr 2025 06:28 by Trevor
Created by: Trevor
Comments: 0
Category: CollectionView
Type: Feature Request
4

Provide support for right-to-left flow direction: 

The current behavior is that the items

when the device language is set to an RTL language (like Hebrew or Arabic) causing the FlowDirection to be set to RightToLeft, where UI will show correctly with RTL FlowDirection, but the item's corresponding tap areas are still in the LTR positions. 

Unplanned
Last Updated: 24 Mar 2025 10:48 by Legrand
Created by: Taylor
Comments: 2
Category: CollectionView
Type: Feature Request
7
Provide keyboard navigation support for CollectionView
Unplanned
Last Updated: 28 Feb 2025 14:05 by John
programmatically cause a list item template to swipe itself
Unplanned
Last Updated: 05 Feb 2025 07:10 by Nathan
The RadListView Delegate sort, filter and group descriptors have bindable properties, for example: Func<object, object) KeyExtractor, Filter.
The RadCollectionView delegate descriptors use KeyLookup, Filter which type is interface and do not expose bindable properties.

the option is to implement an interface
Unplanned
Last Updated: 16 Jan 2025 09:37 by ADMIN
Created by: Didi
Comments: 2
Category: CollectionView
Type: Feature Request
7

In the current CollectionView implementation, the CollectionView will start with all the groups expanded. The only way to have any form of preference is to programmatically interact with the DataView after-the-fact https://docs.telerik.com/devtools/maui/controls/collectionview/grouping/expand-collapse

Requested Feature
A better approach that I am requesting a feature for is to have a property available for the CollectionView that sets this value ahead of time.

For example, you could add it as a BindableProperty on the GroupDescriptor class and on the GroupDefinition is to have an IsExapanded property.
Unplanned
Last Updated: 22 Nov 2024 08:07 by Mauricio
Created by: Mauricio
Comments: 0
Category: CollectionView
Type: Feature Request
1
Provide a pressed visual state.
Completed
Last Updated: 13 Nov 2024 16:27 by ADMIN
Release 8.0.0 (2024 Q4)
Created by: Rodrigo
Comments: 1
Category: CollectionView
Type: Feature Request
3

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

Completed
Last Updated: 13 Nov 2024 16:25 by ADMIN
Release 8.0.0 (2024 Q4)
Currently there isn't a direct way to hide the scrollbars in the CollectionView.
Unplanned
Last Updated: 13 Nov 2024 15:55 by Didi
Implement alternating item styles for CollectionView.
Unplanned
Last Updated: 13 Nov 2024 15:54 by Didi

Currently, the LoadOnDemandCollection accepts a callback of the following format in the constructor:

public LoadOnDemandCollection(Func<CancellationToken, IEnumerable> action)

It is a very common scenario to populate the items asynchronously. In its current form the collection would require blocking the current thread to populate the results:

ItemsSource = new LoadOnDemandCollection((cancelationToken) =>
{
    var result = new List<ItemsModel>();
    try
    {
        var items = dataService.GetItemsAsync().Result;

        // TODO: Handle the result.

        return result;
    }
    catch (Exception e)
    {
        // TODO: Handle the exception.
        return null;
    }
});

 

This is not desired, as using Task.Result blocks the current thread and is considered an anti-pattern, in general.

A better approach would be to add a second overload of the constructor, allowing asynchronous calls:

public LoadOnDemandCollection(Func<CancellationToken, Task<IEnumerable>> action)

This way we can use async and await in the callback instead:

ItemsSource = new LoadOnDemandCollection(async (cancelationToken) =>
{
    var result = new List<ItemsModel>();
    try
    {
        var items = await dataService.GetItemsAsync();

        // TODO: Handle the result.

        return result;
    }
    catch (Exception e)
    {
        // TODO: Handle the exception.
        return null;
    }
});

According to my tests, the first blocking approach is not a problem, as the LoadOnDemandCollection starts a thread internally. That behavior is not obvious however, and using Task.Result is somewhat counterintuitive, so the second approach is much better from the user's perspective.

Unplanned
Last Updated: 13 Nov 2024 15:52 by Didi

we have additional field in City class (CountryFlag as Image)

public class City
{
public string Name { get; set; }
public string Country { get; set; }
public Image CountryFlag { get; set; }
}

We want to display the image instead of the property we group by. Provide such option to define which proeprty to be displayed in the group header.

 

 

 

 

 

Unplanned
Last Updated: 13 Nov 2024 15:48 by Didi
Instead of reordering through the UI, expose an option to programmatically enter reordering.
Unplanned
Last Updated: 13 Nov 2024 15:47 by Didi
Created by: Didi
Comments: 0
Category: CollectionView
Type: Feature Request
2
Add events to handle when the CollectionView cells are unloaded/recycled and created.
Unplanned
Last Updated: 13 Nov 2024 15:45 by Didi
Created by: Didi
Comments: 0
Category: CollectionView
Type: Feature Request
6
Provide a way to set header and footer that are always visible in the CollectionView and are excluded from the scrolling.
Unplanned
Last Updated: 08 Nov 2024 14:53 by Marat
Currently, when the Move method of the ItemsSource collection is called for a certain item, the item position is immediately updated without animation.
Unplanned
Last Updated: 14 Oct 2024 18:57 by Alan

Currently the group descriptors provide a SortOrder property, so the groups are sorted alphabetically in descending or ascending order.  We would need to cover the following scenarios:

- allow certain groups to be ordered at the top, possibly by specifying an comparer or a separate group sort property.

- show the groups in order the corresponding items appear in the ItemsSource.

Unplanned
Last Updated: 18 Sep 2024 13:13 by Srilekha

In MAUI CollectionView when scrolling an item into view, the exact position of the item after the scroll has completed can be specified with the position argument of the ScrollTo methods.

Please provide such option for Telerik MAUI CollectionView inside the ScrollItemIntoView method.

Unplanned
Last Updated: 18 Sep 2024 11:34 by ADMIN
Created by: Matthew
Comments: 3
Category: CollectionView
Type: Feature Request
7

Add support for sticky group headers (iOS, Android)

This feature is available in the ListView control. E.g. On iOS using the built-in CollectionView it can be added this way:

public class CollectionViewPlatformHandler : CollectionViewHandler { /// <inheritdoc /> protected override ItemsViewLayout SelectLayout() { var layout = base.SelectLayout(); if (ItemsView.IsGrouped && layout is UICollectionViewFlowLayout flowLayout) { // Enable sticky section headers. flowLayout.SectionHeadersPinToVisibleBounds = true; } return layout; } }

Add support for scrollable index titles (iOS).

This feature is available in the ListView control. E.g. On iOS using the built-in CollectionView it can be added this way:

    public class CollectionViewPlatformHandler : CollectionViewHandler
    {
        /// <inheritdoc />
        protected override UIView CreatePlatformView()
        {
            var platformView = base.CreatePlatformView();
            if (ItemsView.IsGrouped && ItemsView.ItemsSource is IEnumerable<IGrouping<string, object>> groups && platformView.Subviews[0] is UICollectionView collectionView)
            {
                // Enable index titles.
                collectionView.DataSource = new GroupedCollectionViewDataSource(collectionView.DataSource, groups.Select(q => q.Key));
            }

            return platformView;
        }
        
        private class GroupedCollectionViewDataSource(IUICollectionViewDataSource datasource, IEnumerable<string> sections) : UICollectionViewDataSource
        {
            public override nint NumberOfSections(UICollectionView collectionView) => datasource.NumberOfSections(collectionView);
            public override nint GetItemsCount(UICollectionView collectionView, nint section) => datasource.GetItemsCount(collectionView, section);
            public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath) => datasource.GetCell(collectionView, indexPath);
            public override UICollectionReusableView GetViewForSupplementaryElement(UICollectionView collectionView, NSString elementKind, NSIndexPath indexPath) => datasource.GetViewForSupplementaryElement(collectionView, elementKind, indexPath);
            public override string[] GetIndexTitles(UICollectionView collectionView) => sections.ToArray();
        }
    }
 

Note: This is available out-of-the-box on iOS 14 and above for a native UICollectionView. See documentation.

https://developer.apple.com/documentation/uikit/uicollectionviewdatasource/2851455-indextitlesforcollectionview

Unplanned
Last Updated: 18 Sep 2024 11:31 by Matthew
Created by: Matthew
Comments: 0
Category: CollectionView
Type: Feature Request
5

Add an option to scroll fast to elements inside the CollectionView, something like jump list approach.

This feature is available in the iOS UICollectionView https://developer.apple.com/documentation/uikit/uicollectionviewdatasource/2851455-indextitlesforcollectionview

It could be a great addition to the Telerik MAUI RadCollectionView features set.

 
1 2