2009-10-13 5 views
5

Ich muss eine Liste von vielen Textstrings zeigen, jeweils in einer Zeile.Gibt es eine Silverlight-Repeater-Kontrolle (wie in ASP.NET)?

Ich brauche Elemente auswählbar, so dass ich ein ItemsControl nicht verwenden kann.

Ich brauche nur eine „Säule“ und keine Sortierung, so dass ein Datenraster könnte zu Schwergewicht sein (???) ich bis 1000 Einzelteile benötigen, also eine Listbox könnte zu leicht sein (???)

Welche Silverlight-Steuerung (oder Toolkit-Steuerung) wäre für diesen Zweck am besten geeignet?

Antwort

7

Das funktionale Äquivalent von ist in der Tat. Falls Sie ein Items benötigen, die Auswahl hat, eine der Klassen verwenden, um die erben von Selector (die zufälligerweise selbst von Itemscontrol erbt):
1. ComboBox
2. ListBox
3. TreeView (Selector API)
4 AutoCompleteBox (Selector API)

Alle diese unterstützen die gleiche ItemsControl API von ItemsControl.ItemTemplate = DataTemplate.

+0

Gibt es eine Möglichkeit, den Auswahlmodus für eine ListBox zu deaktivieren? –

3

Datagrid hat wegen der Virtualisierung eine gute Leistung:

Das Datagrid mit großen Datenmengen eine ausgezeichnete Leistung bietet , weil es die Virtualisierung verwendet, im Gegensatz zu allen anderen Silverlight-Steuerelement. Das bedeutet, dass das DataGrid nur speicherinterne Objekte für die aktuell sichtbaren Daten speichert, nicht den gesamten geladenen Datensatz . Dies reduziert den Speicheraufwand dramatisch und ermöglicht es praktisch Tausende (oder sogar Millionen) Zeilen zu halten. Der einzige Nachteil ist , dass das DataGrid beim Scrollen etwas langsamer ist, da es den aktuellen Satz von DataGridRow-Objekten löschen und die Informationen laden muss, die den neuen Zeilen entsprechen.

Verwandte Themen