Как я могу отсортировать элементы в приложении Windows Phone для Databound? - PullRequest
0 голосов
/ 08 июня 2011

Начиная со стандартного приложения с привязкой к данным, у меня есть три строки: LineOne, LineTwo и LineThree. Теперь представьте, что вместо LineThree у меня было IntThree.

Данные добавляются в элементы вроде:

this.Items.Add(new ItemViewModel() { LineOne = "runtime one", LineTwo = "Maecenas praesent accumsan bibendum", IntThree = 5 });
this.Items.Add(new ItemViewModel() { LineOne = "runtime two", LineTwo = "Dictumst eleifend facilisi faucibus", IntThree = 8 });

и т. Д.

На главной странице у меня есть

<StackPanel Margin="0,0,0,17" Width="432">
       <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
       <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
       <TextBlock Text="{Binding IntTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>

Порядок отображения элементов в списке, который окружает StackPanel, зависит от порядка добавления элементов в «Элементы». Я планирую иметь меню панели приложений с надписями «Сортировка по LineOne», «Сортировка по IntThree» и т. Д. Кто-нибудь знает, возможно ли отсортировать этот список, а затем обновить интерфейс. Как бы я поступил так? Я знаю, что ObservableCollections может обновлять пользовательский интерфейс при добавлении и удалении, но будет ли это работать и для сортировки. Я не могу сделать явный переход на ту же страницу.

Спасибо за внимание.

Ответы [ 2 ]

4 голосов
/ 08 июня 2011

Вы можете использовать linq для заказа ваших товаров

lstItems.ItemsSource = yourList.OrderBy(i=>i.LineOne).ToList();
1 голос
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...