переносит приложение Windows Phone в Windows Store и пытается создать сгруппированный ListView. В Dev Center есть good article, и группировка списка не представляет проблемы. Но есть некоторые вещи, которые я не понимаю о GroupStyle.Windows Store App ListView: как использовать GroupStyle?
Пример из статьи использует GroupStyleSelector, что приводит к следующему GroupStyle:
<GroupStyle x:Key="listViewGroupStyle">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Background="LightGray" >
<TextBlock Text='{Binding Key}' Foreground="Black" Margin="10"
Style="{StaticResource SubheaderTextBlockStyle}" />
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid MaximumRowsOrColumns="3" Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
Цель GroupStyle.HeaderTemplate очевидна и изменения на этом шаблоне можно непосредственно наблюдать в рабочем приложении.
Но что такое GroupStyle.Panel? docs говорит:
Получает или задает шаблон, который создает панель, используемую для выкладки элементов.
Хорошо, но независимо от того, как я меняю ItemsPanelTemplate (BackgroundColor, Orientation и т. Д.), List не изменяется в запущенном приложении.
Кроме того, существует GroupStyle.ContainerStyle, который не используется в примере. Если вы добавите это в GroupStyle, это не будет иметь никакого увеличения в списке в запущенном приложении.
Итак, что такое GroupStyle.Panel и GroupStyle.ContainerStyle? Как правильно использовать?
Прежде всего, вы используете 'WrapGrid' там. Попробуйте переключить его на нечто вроде «StackPanel», если вы хотите, чтобы он был традиционным списком. –