2009-10-13 15 views
5

Ho bisogno di mostrare un elenco di molte stringhe di testo, ciascuna su una riga.Esiste un controllo ripetitore Silverlight (come in ASP.NET)?

Ho bisogno di elementi selezionabili, quindi non posso usare un ItemsControl.

Ho solo bisogno di una "colonna" e nessun ordinamento, quindi un DataGrid potrebbe essere troppo pesante (???) Ho bisogno fino a 1000 articoli, in modo da una casella di riepilogo potrebbe essere troppo leggero (???)

Quale controllo Silverlight (o controllo Toolkit) sarebbe meglio per questo uso?

risposta

7

L'equivalente funzionale di è in effetti. Se avete bisogno di un ItemsControl che ha selezione, utilizzare una delle classi del ereditare da Selector (che casualmente si eredita da ItemsControl):
1. ComboBox
2. ListBox
3. TreeView (Selector API)
4 AutoCompleteBox (Selector API)

Tutti questi supportano la stessa API ItemsControl di ItemsControl.ItemTemplate = DataTemplate.

+0

C'è un modo per disabilitare la modalità di selezione per un ListBox? –

3

DataGrid ha buone prestazioni a causa della virtualizzazione:

Il DataGrid vanta prestazioni eccellenti con grandi insiemi di dati perché utilizza la virtualizzazione, a differenza di qualsiasi altro controllo Silverlight. Ciò significa che il DataGrid conserva solo oggetti in memoria per i dati attualmente visibili, non l'intero set di dati caricato. Ciò riduce drasticamente l'overhead della memoria e consente di contenere praticamente migliaia (o anche milioni) di righe. L'unico compromesso è che DataGrid è leggermente più lento durante lo scorrimento, poiché è necessario cancellare l'attuale set di oggetti DataGridRow e caricare le informazioni corrispondenti alle nuove righe.

Problemi correlati