2009-10-13 29 views
5

Tôi cần hiển thị danh sách nhiều chuỗi văn bản, mỗi chuỗi trên một dòng.Có điều khiển bộ lặp bạc (như trong ASP.NET) không?

Tôi cần các mục cần chọn, vì vậy tôi không thể sử dụng một ItemsControl.

Tôi chỉ cần một "cột" và không phân loại, do đó, một DataGrid có thể là quá nặng (???) tôi cần lên đến 1000 mặt hàng, do đó, một Listbox có thể là quá nhẹ (???)

Điều khiển Silverlight (hoặc điều khiển Bộ công cụ) nào là tốt nhất cho việc sử dụng này?

Trả lời

7

Tương đương với chức năng thực sự là. Nếu bạn cần một ItemsControl có lựa chọn, sử dụng một trong các lớp kế thừa các từ Selector (mà bản thân Tình cờ thừa hưởng từ ItemsControl):
1. ComboBox
2. ListBox
3. TreeView (Selector API)
4 AutoCompleteBox (API chọn)

Tất cả các hỗ trợ này đều có cùng API ItemsControl của ItemsControl.ItemTemplate = DataTemplate.

+0

Có cách nào để vô hiệu hóa chế độ chọn cho một ListBox không? –

3

DataGrid có hiệu suất tốt vì ảo hóa:

Các DataGrid tự hào có thành tích xuất sắc với bộ dữ liệu lớn vì nó sử dụng ảo hóa, không giống như bất kỳ kiểm soát Silverlight khác. Điều đó có nghĩa là dữ liệu DataGrid chỉ giữ lại các đối tượng trong bộ nhớ cho dữ liệu hiện có thể nhìn thấy, không phải là toàn bộ dữ liệu đã tải được . Điều này làm giảm đáng kể chi phí bộ nhớ và cho phép thực tế giữ hàng nghìn (hoặc thậm chí hàng triệu) hàng. Sự cân bằng duy nhất là rằng DataGrid hơi chậm hơn khi cuộn, vì nó cần phải xóa bộ đối tượng DataGridRow hiện tại và tải thông tin tương ứng với các hàng mới.

Các vấn đề liên quan