Are you still stuck wondering how to implement custom sorting in your Silverlight data grid – and also wondering how to implement paging support?
Silverlight 3 includes PagedCollectionView class, which provides grouping, sorting, and paging functionality for any data source that implements the IEnumerable interface.
This works as long as all the data that you need to sort (and/or page) is already fetched to the client. However when you are retrieving only a limited set of data from the server at a time, you need an alternative solution that does sorting on the server.
One way to achieve this is to use .net RIA services. In particular, DomainDataSource control provides automatic server sorting and paging support.
However, if you are not using .net RIA services, than you will need to implement ICollectionView to handle sorting and IPagedCollectionView to handle paging.
Save your time and sanity - check out Manish Dalal's blog post at: http://weblogs.asp.net/manishdalal/archive/2009/10/01/silverlight-3-custom-sorting-with-paging-support.aspx