2009-10-13 14 views
5

Potrzebuję pokazać listę wielu ciągów tekstowych, każdy na linii.Czy istnieje kontrolka repeatera silverlight (jak w ASP.NET)?

Potrzebuję przedmiotów do wyboru, więc nie mogę używać ItemsControl.

muszę jeden „kolumny”, a nie tylko sortowanie, więc DataGrid może być zbyt dużej gramaturze (???) muszę się do 1000 sztuk, więc ListBox może być zbyt lekkie (???)

Jakie sterowanie Silverlight (lub kontrola Toolkit) byłoby najlepsze dla tego zastosowania?

Odpowiedz

7

Funkcjonalny odpowiednik jest rzeczywiście. Jeśli potrzebujesz ItemsControl, który ma dobór, wykorzystanie jednej z klas do dziedziczą z Selector (który nawiasem mówiąc sama dziedziczy z ItemsControl):
1. ComboBox
2. ListBox
3. TreeView (Selektor API)
4 AutoCompleteBox (Selector API)

Wszystkie z nich obsługują ten sam interfejs ItemsControl API ItemsControl.ItemTemplate = DataTemplate.

+0

Czy istnieje sposób wyłączenia trybu wyboru ListBox? –

3

DataGrid ma dobrą wydajność, ponieważ wirtualizacji:

DataGrid oferuje doskonałe osiągi z dużymi zestawami danych ponieważ używa wirtualizacji, w przeciwieństwie do innych kontroli Silverlight. Oznacza to, że DataGrid zachowuje tylko obiekty w pamięci dla danych, które są obecnie widoczne, a nie cały załadowany zestaw danych. Zmniejsza to znacząco obciążenie pamięci, a pozwala na praktycznie utrzymanie tysięcy (lub nawet milionów) wierszy. Jedynym kompromisem jest , że DataGrid jest nieco wolniejszy podczas przewijania, ponieważ musi wyczyścić bieżący zestaw obiektów DataGridRow i załadować informacje odpowiadające nowym wierszom.

Powiązane problemy