/// <summary> /// Sort the tree view item source collection /// </summary> private void Sort() { List <DisplayableTreeViewItem> items = ItemSource.ToList <DisplayableTreeViewItem>(); items.Sort((x, y) => CompareItems(x, y)); ItemSource.Clear(); for (int i = 0; i < items.Count; i++) { ItemSource.Insert(i, Sort(items[i])); } }