У меня возникают проблемы с прокруткой списков в моем приложении Windows Phone 8.1. Короткие списки прокручиваются просто отлично, прокручивая гладко, но как только Виртуализация ударит по всему элементу ListView "качается" влево немного, но достаточно заметна, чтобы раздражать.
Я попытался удалить все переходы без каких-либо эффектов, а также с постепенным увеличением количества элементов. Установка панели элементов в StackPanel (удаление виртуализации) устраняет проблему, но не является предпочтительной.
Мои списки являются привязкой к свойству в DefaultViewModel, который поставляется с основным шаблоном страницы.
Что я делаю неправильно и что вызывает у моего ListViews такое поведение?
XAML:
<ListView x:Name="searchResultsList" IsItemClickEnabled="True" ItemClick="ListView_ItemClick" ItemsSource="{Binding searchResults}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Margin" Value="0,0,0,20" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border Width="80" Height="80">
<Image Source="{Binding Image}" />
</Border>
<StackPanel Grid.Column="2">
<TextBlock Text="{Binding PodcastTitle}" TextWrapping="WrapWholeWords" FontSize="{StaticResource TextStyleExtraLargeFontSize}" />
<TextBlock Text="{Binding LastUpdated, Converter={StaticResource dateConverter}}" Style="{ThemeResource ListViewItemSubheaderTextBlockStyle}" />
<TextBlock Text="{Binding PodcastArtist}" TextWrapping="WrapWholeWords" Style="{ThemeResource ListViewItemContentTextBlockStyle}" />
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>