Tôi đang làm việc trên một ứng dụng quản lý hình ảnh trong WPF hiển thị một số hình ảnh và cho phép người dùng di chuyển chúng xung quanh hệ thống tệp. Vấn đề tôi gặp phải là hiển thị tệp có phần tử <Image>
dường như giữ tệp mở, do đó, các nỗ lực di chuyển hoặc xóa tệp không thành công. Có cách nào để tự hỏi WPF để dỡ bỏ hoặc phát hành một tập tin để nó có thể được di chuyển? Hoặc có phương pháp hiển thị hình ảnh không giữ tệp mở không? Trình xem Xaml bên dưới:Hiển thị hình ảnh trong WPF mà không cần giữ tập tin mở
<ListBox x:Name="uxImages" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border Margin="4">
<Image Source="{Binding}" Width="150" Height="150"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
gia tăng này và nó đã làm việc. Cảm ơn! image.CacheOption = BitmapCacheOption.OnLoad; –
Hình như image.CacheOption = BitmapCacheOption.OnLoad; nên được gọi sau image.BeginInit(); . Khi tôi gán nó sau cuộc gọi khởi tạo và trước khi BeginInit() hình ảnh không được hiển thị. – SKG
Caveat: Giải pháp này là * rất * chậm. Hiện đang cố gắng tìm ra cách tăng tốc, nhưng không tốt cho việc tải nhiều hình ảnh. – rookie1024