Sdílet prostřednictvím


Postupy: Řazení dat v zobrazení

Tento příklad popisuje způsob řazení dat v zobrazení.

Příklad

Následující příklad vytvoří jednoduchý 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á rutina události Click tlačítka obsahuje logiku pro řazení položek v ListBox v sestupném pořadí. Můžete to udělat, protože přidávání položek do ListBox tímto způsobem je přidá do ItemCollection objektu ListBoxa ItemCollection je odvozen z třídy CollectionView. Pokud pomocí vlastnosti ListBox vytváříte vazbu svého ItemsSource na kolekci, stejnou techniku můžete použít i k řazení.

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 pohledech naleznete v tématu Vazby na kolekce v Přehled datových vazeb.

Příklad použití logiky řazení v jazyku XAML (Extensible Application Markup Language) najdete v tématu Řazení a seskupování dat pomocí zobrazení v xaml.

Viz také