Я удивлен, что никто не спросил об этом раньше... ну, по крайней мере, я не нашел ответа здесь или где-то еще, на самом деле.
У меня есть ComboBox, привязанный к привязке к ObservableCollection. Все отлично работало, пока ребята не захотели, чтобы содержимое сортировалось. Нет проблем - я заканчиваю тем, что меняю простое свойство:
public ObservableCollection<string> CandyNames { get; set; } // instantiated in constructor
для чего-то вроде этого:
private ObservableCollection<string> _candy_names; // instantiated in constructor
public ObservableCollection<string> CandyNames
{
get {
_candy_names = new ObservableCollection<string>(_candy_names.OrderBy( i => i));
return _candy_names;
}
set {
_candy_names = value;
}
}
Это сообщение действительно два вопроса в одном:
- Как я могу отсортировать простой ComboBox строк в XAML только. Я исследовал это и могу найти информацию о классе SortDescription, а это ближайшая реализация, которую я мог найти, но это было не для ComboBox.
- Как только я выполнил сортировку по коду, это было повреждено моей привязкой к данным; когда я добавил новые элементы в ObservableCollection, элементы ComboBox не обновлялись! Я не вижу, как это произошло, потому что я не назначил имя для своего ComboBox и не манипулировал им напрямую, что обычно ломает привязку.
Спасибо за вашу помощь!