Я работаю над приложением управления изображениями в WPF, которое отображает ряд изображений и позволяет пользователю перемещать их вокруг файловой системы. Проблема, с которой я столкнулся, заключается в том, что отображение файла с элементом <Image>
означает, что файл открыт, поэтому попытки перемещения или удаления файла не выполняются. Есть ли способ вручную попросить WPF выгрузить или выпустить файл, чтобы его можно было перемещать? Или есть способ отображения изображений, которые не удерживают файл открытым? Телезритель Xaml ниже:Показать изображение в WPF, не открывая файл
<ListBox x:Name="uxImages" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border Margin="4">
<Image Source="{Binding}" Width="150" Height="150"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Добавлено это, и она работала. Благодаря! image.CacheOption = BitmapCacheOption.OnLoad; –
Похоже на image.CacheOption = BitmapCacheOption.OnLoad; должен быть вызван после изображения.BeginInit(); , Когда я назначил его после вызова инициализации и до BeginInit(), изображение не отображалось. – SKG
Предостережение: это решение * очень медленно. В настоящее время пытается выяснить, как ускорить его, но это не очень удобно для загрузки большого количества изображений. – rookie1024