Telerik UI for Windows Phone by Progress

To sort the elements in RadJumpList groups you have to use a sort descriptor. Creating a sort descriptor and adding it to the SortDescriptors property sorts the items in a RadJumpList so that they are ordered in a way that you specify in the descriptor.

For example, you can set the source collection to week days with a sort descriptor that sorts alphabetically the items by the third letter.

CopyC#
GenericSortDescriptor<string, string> sort = new GenericSortDescriptor<string, string>(day => day.Substring(2, 1));
this.radJumpList.SortDescriptors.Add(sort);

Here is a snapshot of the result.

Jump List-Features-Sort Descriptors-01

You see that 'Sunday' is before 'Saturday' since 'n' precedes 't'.

Binding the SortDescriptors collection

RadJumpList allows the developer to perform sorting by binding a source of SortDescriptors. The SortDescriptorsSource property is used for this purpose. When it is set the SortDescriptors property of RadJumpList can no longer be used to add/remove sort descriptors, i.e. the control switches to bound mode. Resetting the SortDescriptorsSource property to null makes the SortDescriptors collection modifiable again.

The following C# code snippet demonstrates how the SortDescriptorsSource property can be used:

CopyC#
List<DataDescriptor> sortDescriptors = new List<DataDescriptor>();

GenericSortDescriptor<string, char> sd = new GenericSortDescriptor<string, char>();

sd.KeySelector = (string item) =>
{
    return item[0];
};

sortDescriptors.Add(sd);


this.radJumpList.SortDescriptorsSource = sortDescriptors;

Note
If the SortDescriptors collection has been manually populated and an attempt is made to bind the SortDescriptorsSource, and exception will be thrown.