Я новичок в программировании на C#/WPF/Surface.Удаление файлов, которые использовались в C# LibraryStack в Scatterview
Я использую в ScatterViewItem
в LibraryStack
в 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 [email protected]}"/>
</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>
я заполняю библиотеки Stack, установив ObservableCollection
к ItemsSource
из LibraryStack
. ObservableCollection
состоит из строк, которые представляют собой пути к изображениям.
ObservableCollection<string> oc = new ObservableCollection<string>(System.IO.Directory.GetFiles(folder));
LibraryStack1.ItemsSource = ocs;
Теперь у меня есть ScatterViewItem
со всеми изображениями в нем с перетаскиванием.
Тогда я хочу, чтобы очистить все изображения от LibraryStack
/ScatterViewItem
и удалить все файлы/изображения в папке:
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);
}
}
ScatterViewItem на экране пусто, но всегда находится исключение брошено, удалив файлы (File.Delete(file)
):
System.IO.IOException: процесс не может получить доступ к файлу «хуга», так как он используется другим другим процесс. в System.IO .__ Error.WinIOError (Int32 ERRORCODE, String maybeFullPath) на System.IO.File.Delete (String путь) ...
Удаление над FileInfo
кидает то же исключение.
Что мне делать?
Это вряд ли помогут, это выглядит как вопрос блокировки файла не проблема с правами доступа к файлам –