我有一个包含大量Image控件的ListBox。每个映像的源设置为远程服务器上的URI。一次可以看到大约20个图像(面板是VirtualizingStackPanel),每次滚动ListBox时,渲染图像需要几秒钟,导致滚动极其缓慢。图像很小(每个5-7K),不涉及调整大小。
当Source是本地URI时,性能很好。 这些图像由nginx服务器提供,几乎可以立即在浏览器中呈现。
我的问题是:
编辑:
通过绑定到集合来填充ListBox。这是DataTemplate的XAML设置为ListBox的ItemTemplate:
<ListBoxItem>
<StackPanel>
<TextBlock Text="{Binding Path=Title}" />
<Image Width="50" Margin="0">
<Image.Source>
<BitmapImage UriSource="{Binding Path=ImageUri}" DecodePixelWidth="50" />
</Image.Source>
</Image>
</StackPanel>
</ListBoxItem>
答案 0 :(得分:0)
尝试绑定ObservableCollection中的图像,这会将ImageSource集合返回到ItemTemplate内的Image。
HTH