Мой обходной путь для отсутствия Silverlight - создать общий список с типом KeyValuePair и затем упорядочить список.
List<KeyValuePair<int, string>> sampleList = new List<KeyValuePair<int, string>>();
//Assuming you have a set of objects in an array or list
foreach(var item in items)
{
sampleList.Add(new KeyValuePair<int, string>>(item.ID, item.Description))
}
sampleList = sampleList.OrderBy(data => data.Key).ToList();
Эффект такой же, как при использовании отсортированного списка.