ComponentOne for WinUI
ソート
コントロール > ListView > ListViewの使い方 > ソート

Sorting arranges data in ascending or descending order.

XAML
コードのコピー
<Grid>
  <StackPanel>
    <core:C1Button x:Name="btnSort" Margin="8" HorizontalAlignment="Left" Click="OnSort" />
  </StackPanel>
  <c1:C1ListView x:Name="listView" DisplayMemberPath="Name" Grid.Row="2" Padding="10 0 0 0" />
</Grid>
C#
コードのコピー
SortDirection? sortDirection;
public MainWindow()
{
    InitializeComponent();
    //Bind datasource
    listView.ItemsSource = Person.Generate(100);
    UpdateButtonText();
}
// Add sorting by GroupAysnc method
private async void OnSort(object sender, RoutedEventArgs e)
{
    sortDirection = sortDirection != SortDirection.Ascending ? SortDirection.Ascending : SortDirection.Descending;
    UpdateButtonText();
    listView.ScrollToVerticalOffset(0);
    await listView.DataCollection.SortAsync(nameof(Person.Name), sortDirection.Value);
}
private void UpdateButtonText()
{
    btnSort.Content = sortDirection != SortDirection.Ascending ? AppResources.SortAscendingly : AppResources.SortDescendingly;
}