Procedura: ordinare i dati in una visualizzazione

In questo esempio viene descritto come ordinare i dati in una vista.

Esempio

L'esempio seguente crea un oggetto semplice ListBox e un oggetto 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>

Il Click gestore eventi del pulsante contiene la logica per ordinare gli elementi in ListBox ordine decrescente. È possibile eseguire questa operazione perché l'aggiunta di elementi a questo ListBox modo li aggiunge all'oggetto ItemCollectionListBoxdi e ItemCollection deriva dalla CollectionView classe . Se si associa ListBox a una raccolta usando la ItemsSource proprietà , è possibile utilizzare la stessa tecnica per ordinare.

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

Se si dispone di un riferimento all'oggetto view, è possibile utilizzare la stessa tecnica per ordinare il contenuto di altre visualizzazioni della raccolta. Per un esempio di come ottenere una vista, vedere Ottenere la visualizzazione predefinita di una raccolta di dati. Per un altro esempio, vedere Ordinare una colonna GridView quando si fa clic su un'intestazione. Per altre informazioni sulle viste, vedere Binding to Collections in Data Binding Overview .For more information about views, see Binding to Collections in Data Binding Overview.

Per un esempio di come applicare la logica di ordinamento in XAML (Extensible Application Markup Language), vedi Ordinare e raggruppare i dati usando una visualizzazione in XAML.

Vedi anche