using System; using System.Linq; using Stylet; namespace Artemis.UI.Extensions { public static class BindableCollectionExtensions { public static void Sort(this BindableCollection collection, Func order) { var ordered = collection.OrderBy(order).ToList(); for (var index = 0; index < ordered.Count; index++) { var dataBindingConditionViewModel = ordered[index]; if (collection.IndexOf(dataBindingConditionViewModel) != index) collection.Move(collection.IndexOf(dataBindingConditionViewModel), index); } } } }