【发布时间】:2012-10-09 12:21:00
【问题描述】:
我正在使用以下代码在我的 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);
}
}
}
但我收到异常,无法删除其他进程使用的文件。 如何删除?
【问题讨论】:
-
您是否尝试过不使用双向绑定?另一个可行的解决方案是不直接设置路径,而是从路径创建 BitmapImage 并绑定到该位图图像。
-
怎么做。我是 WPF 的新手。任何代码示例
-
抱歉,没时间,请使用谷歌。
标签: wpf c#-4.0 file-io ioexception