Я показываю какое-то изображение в своем приложении wpf, используя следующий код:
<Image Source="{Binding Path=TemplateImagePath, Mode=TwoWay}" Grid.Row="3" Grid.Column="2" Width="400" Height="200"/>
и установить его свойство привязки внутри кода конструктора, перемещаясь по некоторому каталогу, ниже приведен код:
DirectoryInfo Dir = new DirectoryInfo(@"D:/Template");
if (Dir.Exists)
{
if (Dir.GetFiles().Count() > 0)
{
foreach (FileInfo item in Dir.GetFiles())
{
TemplateImagePath = item.FullName;
}
}
}
но если пользователь загрузит какое-то другое изображение, мне нужно удалить это старое изображение, которое я делаю следующим образом и устанавливаю привязку изображения к нулю:
DirectoryInfo Dir = new DirectoryInfo(@"D:/Template");
if (Dir.Exists)
{
if (Dir.GetFiles().Count() > 0)
{
foreach (FileInfo item in Dir.GetFiles())
{
TemplateImagePath= null;
File.Delete(item.FullName);
}
}
}
Но я получаю исключение, которое не может удалить файл, используемый каким-либо другим процессом. Как я могу удалить его?