HOW TO:排序檢視中的資料
這個範例說明如何排序檢視中的資料。
範例
<Window x:Class="ListBoxSort_snip.Window1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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 會將它們加入至 ListBox 的 ItemCollection,而 ItemCollection 是從 CollectionView 類別衍生。 如果您要使用 ItemsSource 屬性將 ListBox 繫結至集合,可以使用相同的排序技巧。
Private Sub OnClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
myListBox.Items.SortDescriptions.Add(New SortDescription("Content", ListSortDirection.Descending))
End Sub
private void OnClick(object sender, RoutedEventArgs e)
{
myListBox.Items.SortDescriptions.Add(
new SortDescription("Content", ListSortDirection.Descending));
}
只要您有檢視物件的參考,就可以使用相同的技巧來排序其他集合檢視的內容。 如需如何取得檢視的範例,請參閱 HOW TO:取得資料集合的預設檢視。 如需其他範例,請參閱 HOW TO:在按一下行首時排序 GridView 資料行。 如需檢視的詳細資訊,請參閱資料繫結概觀中的<繫結至集合>。
如需如何在Extensible Application Markup Language (XAML) 中套用排序邏輯的範例,請參閱 HOW TO:使用 XAML 排序和分組資料。