Sto lavorando a un'applicazione di gestione delle immagini in WPF che visualizza un numero di immagini e consente all'utente di spostarle nel file system. Il problema che ho riscontrato è che la visualizzazione di un file con un elemento <Image>
sembra contenere il file aperto, quindi i tentativi di spostare o eliminare il file non riescono. C'è un modo per chiedere manualmente a WPF di scaricare o rilasciare un file in modo che possa essere spostato? O esiste un metodo per visualizzare le immagini che non tengono aperto il file? Visualizzatore Xaml di seguito:Visualizzare un'immagine in WPF senza tenere il file aperto
<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>
aggiunte questo e ha funzionato. Grazie! image.CacheOption = BitmapCacheOption.OnLoad; –
Sembra image.CacheOption = BitmapCacheOption.OnLoad; dovrebbe essere chiamato dopo image.BeginInit(); . Quando l'ho assegnato dopo la chiamata di inizializzazione e prima di BeginInit() l'immagine non è stata visualizzata. – SKG
Avvertenza: questa soluzione è * molto * lenta. Attualmente sto cercando di capire come accelerarlo, ma non è buono per caricare un sacco di immagini. – rookie1024