RadListView provides you with the functionality to programmatically group its data at runtime. This can be achieved through adding groupdescriptors to the RadListView.GroupDescriptors collection.
You can group the data by a property value from the class that defines your items. For more details on this refer to Property Group Descriptor article.
This descriptor enables you to group by a custom key (e.g. some complex expression combining two or more properties) instead of being limited by the value of a single property. For more details go to Delegate Group Descriptor article.
Create custom GroupHeaderTemplate in order to achieve the desired look when grouping the ListView. For more details check the Group Header Template article.
RadListView provides the option to set its group headers as sticky. This means the GroupHeader will "freeze" while scrolling through the items until the whole group is scrolled away. As you scroll through the next group, the currently sticked group header will be pushed by the next group header.
How to enable the Sticky Group Header feature -> go to Sticky Group Headers article.
The control supports groups expand and collapse operations either through the UI by tapping on the group headers or programmatically. For more details on this refer to Expand and Collapse Groups.
The GroupDescriptor collection now can be controlled by users using MVVM. For more details on this refer to Bindable Group Descriptors article.