C# WPF ListView复制由同名项替换的项
我正在开发一个程序,向用户显示他们扫描的所有页面,并允许他们在对页面不满意时重新扫描页面。我用一个显示图像缩略图的列表视图对页面进行了一个小预览 当我重新扫描页面时,旧的预览缩略图不会被删除,新的预览缩略图会出现在页面旁边。我的代码将旧图像替换为同名的新图像 有没有办法解决这个问题?我似乎无法通过索引删除它或刷新视图来修复它。我可以重新加载所有图像,但当我有20多个图像时,我担心性能。如果我有少于11个图像(0到9),我不会遇到这个问题 ListView的XAML:C# WPF ListView复制由同名项替换的项,c#,.net,wpf,listview,C#,.net,Wpf,Listview,我正在开发一个程序,向用户显示他们扫描的所有页面,并允许他们在对页面不满意时重新扫描页面。我用一个显示图像缩略图的列表视图对页面进行了一个小预览 当我重新扫描页面时,旧的预览缩略图不会被删除,新的预览缩略图会出现在页面旁边。我的代码将旧图像替换为同名的新图像 有没有办法解决这个问题?我似乎无法通过索引删除它或刷新视图来修复它。我可以重新加载所有图像,但当我有20多个图像时,我担心性能。如果我有少于11个图像(0到9),我不会遇到这个问题 ListView的XAML: <ListView.
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Image Source="{Binding image}"
HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" />
<TextBlock Text="{Binding titre}"
HorizontalAlignment="Center" VerticalAlignment="Bottom" />
<TextBlock Text="{Binding index}" Visibility="Visible"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
此代码将替换正确的图像:
private void UpdateListePreview(int index)
{
if (index >= 0 && index < imagelist.Count)
{
imagelist[index] = controleur.ChargerImageSelectionnee(index, 320, 480);
listePreview.SelectedIndex = index;
}
}
private void UpdateListePreview(int索引)
{
如果(索引>=0&&index
此代码在ObservableCollection中添加图像:
imagelist = new ObservableCollection<ImageData>();
foreach(ImageData data in controleur.ChargerImages())
{
imagelist.Add(data);
}
listePreview.ItemsSource = imagelist;
imagelist=新的ObservableCollection();
foreach(controleur.ChargerImages()中的图像数据)
{
imagelist.Add(数据);
}
ListPreview.ItemsSource=imagelist;
请看这里:哦,我记得这一点,我必须缓存图像,以使它们不被程序的某个部分占用,知道如何从缓存中删除特定图像吗?我解决了这个问题,我使用另一种方法将项目添加到listview,允许我直接替换它们。