新手在这里..如何在带有图像的列表框上使用Data Virtualization?
但我不知道从哪里把可能拥有与图像等物体或者对这个VirtualizedDataSource添加新的对象。
编辑:我在这里试图说的是,是否有一个自定义对象的VirtualizedDataSource的示例用法?自定义对象与图像,文字等... 因为在示例中,数据只是一个字符串..
新手在这里..如何在带有图像的列表框上使用Data Virtualization?
但我不知道从哪里把可能拥有与图像等物体或者对这个VirtualizedDataSource添加新的对象。
编辑:我在这里试图说的是,是否有一个自定义对象的VirtualizedDataSource的示例用法?自定义对象与图像,文字等... 因为在示例中,数据只是一个字符串..
无论您是否使用虚拟化,将图像作为项目放入ListBox的方式都是相同的或不。您将列表框的ItemsSource属性绑定到对象集合,然后使用DataTemplate来定义如何呈现每个对象,例如将XAML图像的源代码绑定到对象的BitmapImage属性。
<Image
Source="{Binding ABitmapImageProperty}"
...
/>
虚拟化的作用在于,您可能不希望在相应的ListBox元素滚动页面时将这些BitmapImages保存在内存中。您可以通过建立一个处理程序VirtualizingStackPanel.CleanUpVirtualizedItem事件在标准ListBox中做到这一点:http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.cleanupvirtualizeditemevent(v=VS.95).aspx
如果使用控件工具箱的LongListSelector,那么你就可以处理关联和取消关联的事件做同样的事。