我是C#/ WPF / Surface编程的新手。
我在LibraryStack
的{{1}}中使用了ScatterViewItem
:
ScatterView
我通过将<Grid Name="DataGrid" Background="LightBlue" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.Resources>
<DataTemplate x:Key="LibraryItemTemplate">
<Viewbox Stretch="Uniform">
<Image Source="{Binding}" />
</Viewbox>
</DataTemplate>
<!-- Styles to ensure each library control uses the above defined templates -->
<Style TargetType="{x:Type s:LibraryStack}">
<Setter Property="ItemTemplate" Value="{StaticResource LibraryItemTemplate}"/>
</Style>
<Style TargetType="{x:Type s:LibraryBar}">
<Setter Property="ItemTemplate" Value="{StaticResource LibraryItemTemplate}"/>
</Style>
<DataTemplate x:Key="itemTemplate">
<Image Source="{Binding XPath=@FullPath}"/>
</DataTemplate>
</Grid.Resources>
<s:ScatterView HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<s:ScatterViewItem Name="ScatterViewItem1" Background="DarkGray" MinWidth="800" MinHeight="800"
Orientation="0.0" CanRotate="False">
<s:LibraryStack Name="LibraryStack1" Background="Transparent" MinWidth="800" MinHeight="800" AllowDrop="True" >
</s:LibraryStack>
</s:ScatterViewItem>
</s:ScatterView>
</Grid>
设置为ObservableCollection
的{{1}}来填充图书馆堆栈。 ItemsSource
由字符串组成,字符串是图像的文件路径。
LibraryStack
现在我有一个ObservableCollection
,其中包含拖放的所有图像。
然后我要清除ObservableCollection<string> oc = new ObservableCollection<string>(System.IO.Directory.GetFiles(folder));
LibraryStack1.ItemsSource = ocs;
/ ScatterViewItem
中的所有图片并删除文件夹中的所有文件/图片:
LibraryStack
屏幕上的ScatterViewItem为空,但通过删除文件(ScatterViewItem
)总会抛出异常:
System.IO.IOException:进程无法访问文件'xyz',因为它正由另一个进程使用。在System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)at System.IO.File.Delete(String path)...
删除oc=null;
LibraryStack1.ItemsSource = null;
string[] files = Directory.GetFiles(folder);
foreach (String file in files)
{
try
{
File.Delete(file);
}
catch (Exception f)
{
Console.WriteLine(f);
}
}
会引发相同的异常。
我该怎么办?
答案 0 :(得分:0)
在删除之前尝试更改这样的文件属性。
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
答案 1 :(得分:0)
我看到两种可能的解释: -