在我的Windows手机项目中 我有一个来自xml的列表框绑定数据
<ListBox x:Name="listBox02">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="20" >
<TextBlock Text="{Binding Namee}"/>
<TextBlock Text="{Binding Examinoo}"/>
<TextBlock Text="{Binding Statuss}"/>
<!--<TextBlock Text="{Binding Idd}"/>-->
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
使用
XDocument loadedCustomData = XDocument.Load("PeopleCustom.xml");
var filteredData =
from c in loadedCustomData.Descendants("Mathima")
where c.Attribute("Id").Value == "1"
select new Iatriki() {
Namee = "Ονομα: " + c.Attribute("Name").Value,
Examinoo = "Εξάμηνο: " + c.Attribute("Examino").Value,
Idd = c.Attribute("Id").Value,
Statuss = c.Attribute("Status").Value,
};
listBox02.ItemsSource = filteredData;
点击按钮时,我想按“Examinoo”对列表进行排序
这是按钮的事件处理程序:
private void btn_sort_Click(object sender, RoutedEventArgs e)
{
listBox02.Items.SortDescriptions.Add(
new SortDescription("Content", ListSortDirection.Descending));
}
我收到以下错误:
System.Windows.Controls.ItemCollection'不包含'SortDescriptions'的定义,并且没有扩展方法'SortDescriptions'接受类型'System.Windows.Controls.ItemCollection'的第一个参数可以找到(你错过了吗?使用指令或汇编引用?)`
答案 0 :(得分:2)
对于同样的问题,我正在遵循这种方法
在XDocument行之后,删除列表框行
listBox02.ItemsSource = filteredData; //remove this line and add the following 2 lines
ObservableCollection<Iatriki> myCollection = new ObservableCollection<Iatriki>(filteredData);
listBox02.ItemsSource = myCollection;
然后按下按钮
listBox02.ItemsSource = myCollection.OrderBy(item => item.Examinoo);