Ich bemerkte ein sehr seltsames Verhalten: in meinem Windows Phone 7 Ich habe eine ListBox, die alles von 1-2 bis 2-300 Elemente enthalten kann. Ich bemerkte, dass das OnSelectionChanged-Ereignis nicht ausgelöst wird, wenn die Anzahl der Elemente groß ist (nicht sicher über die Anzahl, aber sicher> 150 Elemente).ListBox OnSelectionChanged Ereignis funktioniert nicht mehr mit "vielen" Elementen
Dies ist die XAML meiner 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>
Und die Vorlage für die ItemTemplate ist:
<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>
Ist das ein Bug oder habe ich etwas falsch gemacht? Ich war in Debug und der Event-Handler wird nie aufgerufen, aber es funktioniert, wenn die Elemente nicht viele sind.
Simone
Sie könnten uns die 'ListBox' XAML zeigen. Würden Sie zum Beispiel ein 'StackPanel' in seiner' ItemPanelTemplate' liefern, da dies bei so vielen Elementen fehlschlagen würde. – AnthonyWJones
Den Code hinzugefügt ... ja, mit einem StackPanel ... warum scheitert es? Fehler? Irgendeine Problemumgehung? – CodeClimber
Würde es ein virtualisingstackpanel besser machen? – CodeClimber