Я удивлен, что никто раньше не спрашивал об этом здесь ... ну, по крайней мере, я не нашел ответа ни здесь, ни где-либо еще, на самом деле.
У меня есть 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 и не манипулировал им напрямую, что обычно нарушает привязку.
Спасибо за вашу помощь!