如何:排序檢視中的資料
此範例說明如何在檢視中排序資料。
範例
<Window x:Class="ListBoxSort_snip.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ListBoxSort_snip" Height="300" Width="300">
<DockPanel>
<ListBox Name="myListBox" DockPanel.Dock="Top">
<ListBoxItem>my</ListBoxItem>
<!--Or you can set the content this way:-->
<!--<ListBoxItem Content="my"/>-->
<ListBoxItem>1</ListBoxItem>
<ListBoxItem>Sort</ListBoxItem>
<ListBoxItem>3</ListBoxItem>
<ListBoxItem>ListBox</ListBoxItem>
<ListBoxItem>2</ListBoxItem>
</ListBox>
<Button Click="OnClick" Width="30" Height="20" DockPanel.Dock="Top">Sort</Button>
</DockPanel>
</Window>
按鈕的 Click 事件處理常式包含在 ListBox 中以遞減順序排序項目的邏輯。 您可以這麼做,因為以此方式將項目新增至 ListBox,會將其新增至 ItemCollection 的 ListBox,且 ItemCollection 會衍生自 CollectionView 類別。 如果您要使用 ListBox 屬性將 ItemsSource 繫結至集合,您可以使用相同的技術來排序。
private void OnClick(object sender, RoutedEventArgs e)
{
myListBox.Items.SortDescriptions.Add(
new SortDescription("Content", ListSortDirection.Descending));
}
Private Sub OnClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))
End Sub
只要您有檢視物件的參考,就可以使用相同的技術來排序其他集合檢視的內容。 如需如何取得檢視的範例,請參閱取得資料集合的預設檢視。 如需其他範例,請參閱在按一下標頭時排序 GridView 資料行。 如需檢視的詳細資訊,請參閱資料繫結概觀中的「繫結至集合」。
如需如何在 Extensible Application Markup Language (XAML) 中套用排序邏輯的範例,請參閱使用 XAML 中的檢視排序及分組資料。