0

У меня есть ListBox на моем WP 8.1 Silverlight приложения, которое выглядит следующим образом:Автоматически Сортировкой ListBox Items (от А до Z или от 1 до 9 серийных мудро)

<StackPanel Grid.Column="1" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Top">     
    <ListBox x:Name="FavoriteListBox" Visibility="Collapsed" 
      SelectionChanged="FavoriteListBox_SelectionChanged" 
      HorizontalAlignment="Stretch" 
      VerticalAlignment="Top" Opacity="1" 
      Background="{StaticResource PhoneBackgroundBrush}" Foreground="{StaticResource PhoneForegroundBrush}" 
      Height="300" Width="250"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <TextBlock Visibility="Visible" x:Name="FavoriteListBoxTextBlock" 
         FontSize="35" Foreground="Black" Text="{Binding AnswerName}"/> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
</StackPanel> 

В моих ListBox пунктах должны выглядеть следующим образом:

  1. item1
  2. item2
  3. 15 .....

Однако в настоящее время он не в порядке 1,2,3,4 ... Вместо этого он находится в порядке добавления элемента.

Я хочу, чтобы ListBox элементов сериализоваться автоматически. Как это можно достичь?

ответ

2

Если вы хотите отсортировать список или массив до сериализации, вы можете использовать два разных решения.

Массивы имеют статический метод Array.Sort, который сортирует элементы массива на месте (сортирует содержимое самого экземпляра).

Для списков и других коллекций вы можете использовать метод расширения LINQ OrderBy.

var sortedList = list.OrderBy( 
    item => item.PropertyToOrderBy) 
    .ToList(); 

Обратите внимание, что оригинальный list остается неизменным, результат метода расширения ToList() это новый экземпляр.

+1

Вы можете предоставить информацию о руде –

+0

Я работаю со списком в первый раз, поэтому, пожалуйста, предоставьте подробную информацию, как это сделать –

+1

В принципе, это не связано с самим списком, поскольку вам нужно сортировать данные, которые отображаются в списке , Код, который я опубликовал, вы можете использовать для сериализации данных, чтобы они были сохранены в файле в отсортированном порядке. И если вы поместите данные из списка sortedList в список, они также будут отсортированы в пользовательском интерфейсе. –