【发布时间】:2015-08-07 04:03:40
【问题描述】:
我通过发送 httprequest 并检索 json 格式的文本来获得一个列表。我创建了这个列表:
<ListBox Background="Red" ItemsSource="{Binding}" x:Name="Itemlist">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Price}"></TextBlock>
<TextBlock Text="{Binding InventoryItem.properties.name}" Foreground="Green"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
现在我想对这个列表进行排序。价格最高的 Listitems 应该是第一个。我该怎么做?
【问题讨论】:
-
@Aron 不,我已经检查过了,我对如何在 c# 中订购列表感兴趣。
-
您可以对列表进行排序。但是,这不会对您的 UI 产生任何影响,具体取决于您对列表进行排序的时间。
-
确实如此,因为我绑定到 null 然后我将它重新绑定到我的列表。那么我该如何排序呢? @Aron
-
我建议不要这样做,因为它会导致整个 ListBox 重新绑定,这意味着您将丢失所有 UI 状态,并且 UI 必须重新生成所有 UI 元素。但是,如果您必须这样做,请使用
Foo = Foo.OrderBy(x => x.Price).ToList();。但是,它仍然不起作用,除非您将您的财产连接为 INPC 财产。
标签: c# windows list xaml universal