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