Comment libérer Image à partir d'Image Source dans WPF
Suis le chargement de l'image comme ci-dessous
XAML
<Image Stretch="None" Grid.Row="16" Height="70" HorizontalAlignment="Left" Name="imgThumbnail" VerticalAlignment="Top" Width="70" Grid.RowSpan="3" Margin="133,1,0,0" Grid.Column="2" Grid.ColumnSpan="2" />
CodeBehind
if (Path.GetFileNameWithoutExtension(filePath).ToLower().Contains(slugName.ToLower() + "_70x70"))
{
imgThumbnail.BeginInit();
imgThumbnail.Stretch = Stretch.UniformToFill;
imgThumbnail.Source = new BitmapImage(new Uri(filePath));
imgThumbnail.EndInit();
count = count + 1;
}
Code ci-dessus fonctionne bien , maintenant, j'ai un bouton supprimer à côté de ma vignette, si supprimer le bouton, je suppose, pour supprimer toutes les images à partir de l'emplacement de la source.
Voici le code pour supprimer les fichiers d'image
internal int Remove(string slugName, DirectoryInfo outputFolder)
{
Helper.MetadataView.imgThumbnail.Source = null;
foreach (string filePath_ToBeDeleted in filePathList_ToBeDeleted)
{
if (File.Exists(filePath_ToBeDeleted))
{
Helper.MetadataView.imgThumbnail.IsEnabled = false;
File.Delete(filePath_ToBeDeleted);
count += 1;
}
}
return count;
}
return 0; //slugName == null
}
J'ai essayé de source nulle et supprimer, mais il jette exception comme ci-dessous
Le processus ne peut pas accéder au fichier '\serv1\Dev\Images\730_Test4_0406_70x70.jpg " parce qu'il est utilisé par un autre processus.
Ne suis pas sûr de la façon d'en disposer, il vous plaît quelqu'un me guide.
source d'informationauteur Usher
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas utiliser cette
Image
directement dans votre demande si vous souhaitez supprimer ou le déplacer.Au lieu de cela, faire cela:
Pour en savoir plus, consultez cette
D'avoir un bon de réutiliser le code d'une liaison convertisseur peut être utilisé:
Et il y a une chaîne de liaison, par exemple
Et dans l'INTERFACE utilisateur, le convertisseur est utilisé, dans mon cas, à partir de la Bibliothèque nommée "Contrôles"