Como classificar dados em uma exibição
Este exemplo descreve como classificar dados em uma exibição.
Exemplo
O exemplo a seguir cria um simples ListBox e um 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>
O Click manipulador de eventos do botão contém lógica para classificar os itens na ListBox ordem decrescente. Você pode fazer isso porque adicionar itens a uma ListBox dessa maneira os adiciona ao ItemCollection do ListBox, e ItemCollection deriva da CollectionView classe. Se você estiver vinculando seu ListBox a uma coleção usando a propriedade, poderá usar a ItemsSource mesma técnica para classificar.
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
Desde que você tenha uma referência ao objeto de exibição, é possível usar a mesma técnica para classificar o conteúdo de outros modos de exibição de coleção. Para um exemplo de como obter uma exibição, consulte Obter a exibição padrão de uma coleção de dados. Para outro exemplo, consulte Classificar uma coluna GridView quando um cabeçalho é clicado. Para obter mais informações sobre modos de exibição, consulte associação a coleções em Visão geral da vinculação de dados.
Para obter um exemplo de como aplicar lógica de classificação em XAML (Extensible Application Markup Language), consulte Classificar e agrupar dados usando uma exibição em XAML.
Confira também
.NET Desktop feedback