0
我使用Enum
的Description
值填充ListBox
。这些以Enum
的索引顺序显示,但我希望它们按说明进行排序。所以我给ListBox
加了一个SortDescription
,但它不起作用。如何对绑定的ObjectDataProvider集合进行排序?
ObjectDataProvider odp = new ObjectDataProvider()
{
IsInitialLoadEnabled = false,
MethodName = "GetValues",
ObjectType = typeof(Enum),
};
odp.MethodParameters.Add(this.EnumType);
odp.Refresh();
Binding b = new Binding() { Source = odp };
listBox.SetBinding(ListBox.ItemsSourceProperty, b);
listBox.Items.SortDescriptions.Add(new SortDescription());
我也试着属性名称添加到SortDescription
,但我不知道是哪一个(我试过“价值”和“说明”)。
将ObjectDataProvider
包装在CollectionViewSource
中,并对该集合进行排序也无济于事。
有没有解决方案?
谢谢,它的工作原理。该代码曾在XAML中出现过一些原因。不记得为什么了。最后一个'ToArray()'不是必须的。 – gumo