Postupy: Řazení dat v zobrazení
Tento příklad popisuje způsob řazení dat v zobrazení.
Příklad
Následující příklad vytvoří jednoduchou ListBox a Button:
<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>
Obslužná Click rutina události tlačítka obsahuje logiku pro řazení položek v ListBox sestupném pořadí. Můžete to udělat, protože přidávání položek tímto ListBox způsobem je přidá do ItemCollection objektu ListBox, a ItemCollection odvozuje se od CollectionView třídy. Pokud vytváříte vazbu ListBox na kolekci pomocí ItemsSource vlastnosti, můžete k řazení použít stejnou techniku.
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
Pokud máte odkaz na objekt zobrazení, můžete použít stejnou techniku k seřazení obsahu jiných zobrazení kolekce. Příklad získání zobrazení najdete v tématu Získání výchozího zobrazení kolekce dat. Další příklad najdete v tématu Řazení sloupce GridView Při kliknutí na záhlaví. Další informace o zobrazeních naleznete v tématu Vazby k kolekcím v přehledu datových vazeb.
Příklad použití logiky řazení v jazyce XAML (Extensible Application Markup Language) najdete v tématu Řazení a seskupování dat pomocí zobrazení v JAZYCE XAML.
Viz také
.NET Desktop feedback