是否有Silverlight转发器控件(如在ASP.NET中)?

时间:2009-10-13 23:44:25

标签: silverlight

我需要显示许多文本字符串的列表,每个字符串都在一行上。

我需要选择项目,所以我不能使用ItemsControl。

我只需要一个“列”而没有排序,所以DataGrid可能太重了(???) 我需要多达1000个项目,因此列表框可能太轻了(???)

哪种Silverlight控件(或Toolkit控件)最适合此用途?

3 个答案:

答案 0 :(得分:7)

确实是功能相当的。 如果你需要一个具有Selection的ItemsControl,请使用继承自Selector的一个类(它同时继承自ItemsControl):
1. ComboBox
2. ListBox
3. TreeView(选择器API)
4. AutoCompleteBox(选择器API)

所有这些都支持ItemsControl.ItemTemplate = DataTemplate的相同ItemsControl API。

答案 1 :(得分:3)

DataGrid因虚拟化而具有良好的性能:

  

DataGrid拥有大量数据的出色性能   因为它使用虚拟化,不像任何其他Silverlight控件。这意味着   DataGrid仅保留当前可见数据的内存中对象,而不是   加载的整个数据集。这大大减少了内存开销   允许它实际上容纳数千(甚至数百万)行。唯一的权衡是   滚动时DataGrid略慢,因为它需要清除当前   一组DataGridRow对象并加载与新行对应的信息。

答案 2 :(得分:0)

我会从 Silverlight Toolkit 添加 HeaderedItemsControl 。这是一篇文章:HEADEREDCONTENTCONTROL & HEADEREDITEMSCONTROL