次のコードを使用して、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;
}
}
}
しかし、ユーザーが他の画像をアップロードする場合は、この古い画像を削除する必要があります。これは、次の方法で実行しており、画像のバインドをnullに設定しています。
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);
}
}
}
しかし、他のプロセスで使用されているファイルを削除できないという例外が発生しています。どうすれば削除できますか?