Я заметил очень странное поведение: в моем телефоне Windows 7 У меня есть ListBox, который может содержать что-либо от 1-2 до 2-300 элементов. Я заметил, что, когда количество элементов велико (не уверены в количестве, но точно> 150 элементов), событие OnSelectionChanged не поднимается.Событие ListBox OnSelectionChanged перестает работать с «многими» элементами
Это XAML моего ListBox
<ListBox ItemsSource="{Binding Path=Posts}" ItemTemplate="{StaticResource IconsWithText}"
ScrollViewer.VerticalScrollBarVisibility ="Disabled"
SelectionChanged="ListBox_SelectionChanged" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
И шаблон для ItemTemplate является:
<DataTemplate x:Name="IconsWithText">
<Grid x:Name="ThumLink" Width="160" Height="140" Margin="10" Background="#FF666666">
<Image Source="Resources/Images/All.png" Visibility="{Binding Path=VisibilityAll}" />
<Image delay:LowProfileImageLoader.UriSource="{Binding Picture}"
Visibility="{Binding Path=VisibilityPic}"
Stretch="UniformToFill" VerticalAlignment="Top" HorizontalAlignment="Left" />
<Border x:Name="border" VerticalAlignment="Bottom" Background="#d9ffffff" Height="62" BorderBrush="Black" Visibility="{Binding Path=VisibilityPic}" >
<TextBlock x:Name="textBlock" Text="{Binding Title}" VerticalAlignment="Top" TextWrapping="Wrap" MaxHeight="60" Style="{StaticResource PhoneTextSmallStyle}"
Foreground="Black" FontSize="20" Margin="4,1,4,0" Height="62"/>
</Border>
</Grid>
</DataTemplate>
Является ли это ошибка или я сделал что-то не так? Я был в отладке, и обработчик события никогда не вызван, но он работает, когда элементов не так много.
Simone
Возможно, вы захотите показать нам «ListBox» xaml. Вы бы, например, подавали 'StackPanel' в свой' ItemPanelTemplate', потому что это не получилось бы с таким количеством элементов. – AnthonyWJones
Добавил код ... да, используя StackPanel ... почему он не работает? Ошибка? Любое обходное решение? – CodeClimber
Использует ли виртуализационная панель лучше? – CodeClimber