我想实现一个 ListBox,其中每个项目都包含一个 Image 控件和一些其他控件,然后用它来绑定一些数据。由于这个 ListBox 需要包含 2000 多个项目,这意味着我必须对其进行一些优化。
首先,我注意到大多数图像控件都有一个相同的图片(默认头像),所以我为数据创建了一个单一的 ImageSource 对象。但是虽然 Image 控件的源是同一个对象,但你知道我还需要在 ListBox 中创建 2000 个 Image 控件,下面是 DataTemplate:
<ListBox ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Image Source="{Binding Avatar}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
有没有办法减少我程序中图像控件对象的数量?谢谢!