Je suis confronté à un problème de performances avec une liste déroulante saturée (5000 éléments). Le rendu de la liste déroulante est vraiment lent (comme s'il calculait tous les éléments avant de les afficher).Problème de performances de Silverlight combobox
Avez-vous un truc pour rendre cet affichage paresseux?
Code Xaml:
<Grid x:Name="LayoutRoot">
<StackPanel Orientation="Horizontal" Width="200" Height="20">
<TextBlock>Test Combo </TextBlock>
<ComboBox x:Name="fooCombo" Margin="5,0,0,0"></ComboBox>
</StackPanel>
</Grid>
Code
derrière:
MainPage public() { InitializeComponent();
List<string> li = new List<string>();
int Max = 5000;
for (int i = 0; i < Max; ++i)
li.Add("Item - " + i);
fooCombo.ItemsSource = li;
}
Eh bien, il semble être a bug dans la virtualisation de l'interface utilisateur COMBOBOX, donc un AutoCompleteBox devrait être le chemin à parcourir.
c'est en effet une solution de contournement, je vais considérer cela. – Vinzz
@Vinzz: Je ne sais pas s'il existe une vraie solution (si c'est juste un problème) puisque l'exigence de remplir une combobox avec 100s et encore moins 1000s d'éléments n'est pas une très bonne décision de conception d'interface utilisateur. – AnthonyWJones