Управление заблокированными ресурсами (файлами изображений)

Приложение представляет собой настольную систему управления документами. Файлы изображений (отсканированных документов) хранятся в общей сетевой папке, а ее индексы - в базе данных. Теперь, когда отображается изображение выбранной страницы документа, пользователь имеет возможность удалить его (через контекстное меню). Проблема состоит в том, что, если я пытаюсь сделать это, он генерирует исключение (ресурс заблокирован), который имеет весь смысл, учитывая, что он отображается на экране. Итак, в настоящее время я поддерживаю постоянную очередь на удаление. Как только приложение запускается, я захожу в очередь и удаляю страницы документов, индексы которых были удалены из БД, и, учитывая, что они не отображаются, удаление прошло успешно, но, похоже, это довольно плохой код (я имею в виду, что он работает, но не так чисто, как и должно быть)

Как плохо мое быстрое решение. Учитывая, что приложение является однопользовательским, пользователь должен запустить приложение, чтобы использовать его. Это очень плохая идея, или я могу реализовать по другому пути.

Изображения отображаются (в средстве просмотра документов) путем привязки его к текущему файлу:

Посмотреть:

<Image Name="PageViewedPath" Margin="20" Grid.Column="0" />

ViewModel:

public string PageViewedPath { get; set; }

И как только пользователь щелкает следующим или предыдущим, я меняю (в ViewModel PageViewedPath). Может быть, проблема в том, что это связывание, которым я не могу управлять подробно, я использую Caliburn Micro, так что просто установив имя изображения, связывание выполнено.

Я думаю, что может потребоваться переопределение этой привязки и создание печатной копии изображения перед его показом, но я не уверен, будет ли это и хуже, как это сделать.

Ответы на вопрос(2)

Ваш ответ на вопрос