【发布时间】:2010-02-16 17:00:29
【问题描述】:
我很惊讶在此之前没有人问过这个问题......好吧,至少我在这里或其他任何地方都没有找到答案,实际上。
我有一个数据绑定到 ObservableCollection 的 ComboBox。一切都很好,直到人们想要对内容进行分类。没问题——我最终改变了简单的属性:
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;
}
}
这个帖子真是二题合一:
- 如何仅对 XAML 中的简单字符串组合框进行排序。我对此进行了研究,只能找到有关 SortDescription 类和 this is the closest implementation I could find 的信息,但它不适用于 ComboBox。
- 一旦我在代码隐藏中实现了排序,我的数据绑定就被破坏了;当我向 ObservableCollection 添加新项目时,ComboBox 项目没有更新!我不明白这是怎么发生的,因为我没有为我的 ComboBox 指定名称并直接操作它,这通常会破坏绑定。
感谢您的帮助!
【问题讨论】: