События элемента управления файлами документа
Элемент управления файлами документа реализует интерфейс IFilesViewWithPreview
, который добавляет подписку на события:
-
BeforeFileOpened
,AfterFileOpened
— перед и после открытия основного или дополнительного файла. -
BeforeMainFileAdded
,MainFileAdded
— перед и после добавления основного файла. -
BeforeAdditionalFileAdded
,AdditionalFileAdded
— перед и после добавления дополнительного файла. -
BeforeMainFileRemoved
,MainFileRemoved
— перед и после удаления основного файла. -
BeforeAdditionalFileRemoved
,AdditionalFileRemoved
— перед/после удаления дополнительного файла. -
MainFileSelected
— при выборе основного файла. -
AdditionalFileSelected
— при выборе дополнительного файла. -
DocumentUnlocking
,DocumentUnlocked
— перед и после снятия блокировки с основного или дополнительного файла.
Для подписки на событие в скрипте карточки, достаточно получить из компонента карточки элемент управления файлами, возвращаемый из свойства FilesViewWithPreview
. К примера подпишемся на событие, вызываемое перед открытием любого файла:
// Указываем дополнительные пространства имён
using DocsVision.BackOffice.ObjectModel.Services.Entities;
using DocsVision.BackOffice.Cards.CardDocument; (1)
/* часть кода пропущена */
private void CardDocument_CardActivated(System.Object sender, DocsVision.Platform.WinForms.CardActivatedEventArgs e) { (2)
var documentCardControl = this.CardControl as DocsVision.BackOffice.Cards.CardDocument.MainControl; (3)
if (documentCardControl.FilesViewWithPreview != null) {
IFilesViewWithPreview filesViewWithPreview = documentCardControl.FilesViewWithPreview; (4)
filesViewWithPreview.BeforeFileOpened += new EventHandler<DocumentOpenFileEventArgs>(FilesViewWithPreview_BeforeFileOpened); (5)
}
}
private void FilesViewWithPreview_BeforeFileOpened(object sender, DocumentOpenFileEventArgs e) {
if (e.File.FileType = DocumentFileType.Main) {
MessageBox.Show("Открытие файла прервано");
e.Cancel = true; (6)
}
}
1 | Подписываемся на события элемента управления при активации карточки. |
2 | Приводим тип компонента карточки к типу компонента карточки Документ. |
3 | Получаем элемент управления файлами. |
4 | Подписываемся на событие перед открытием файла . |
5 | Прерываем открытие. |
Чтобы пример заработал нужно подключить дополнительную сборку: |
В обработчиках событий, срабатывающих до исполнения соответствующей команды, можно добавить логику прерывания команды — установить e.Cancel
в значение true
.