2011-06-08 58 views
0

從庫存Databound應用程序開始,我有三個字符串:LineOne,LineTwo和LineThree。現在想象我有IntThree而不是LineThree。如何對Databound windows phone應用程序中的項目進行排序?

的數據被添加到物品,像這樣:

this.Items.Add(new ItemViewModel() { LineOne = "runtime one", LineTwo = "Maecenas praesent accumsan bibendum", IntThree = 5 }); 
this.Items.Add(new ItemViewModel() { LineOne = "runtime two", LineTwo = "Dictumst eleifend facilisi faucibus", IntThree = 8 }); 

等。

在我的MainPage有

<StackPanel Margin="0,0,0,17" Width="432"> 
     <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
     <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
     <TextBlock Text="{Binding IntTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
</StackPanel> 

在環繞的StackPanel取決於項目被添加到「項」的順序列表框的項目的顯示順序。我打算有一個應用欄菜單,說'按LineOne排序','按IntThree排序'等。有誰知道是否可以對此列表進行排序,然後刷新UI。我會怎麼做呢?我知道ObservableCollections可以在添加和刪除時更新UI,但是這也可以用於排序。我無法顯式導航到同一頁面。

感謝您的期待。

回答

4

您可以使用LINQ訂購您的項目

lstItems.ItemsSource = yourList.OrderBy(i=>i.LineOne).ToList(); 
+0

花花公子這樣做,你搖滾! :d – Freakishly 2011-06-09 17:29:01

相關問題