FileControl - класс

Элемент управления, отображающий файлы.

Definition

Пространство имён: Tessa.UI.Files
Сборка: Tessa.UI (в Tessa.UI.dll) Версия: 4.0.4
C#
public abstract class FileControl : SupportUnloadingViewModel, 
	IFileControl, IFileControlNotificationSource, ISupportUnloading, INotifyPropertyChanged
Inheritance
Object    NotificationObject    NotificationUIObject    SupportUnloadingViewModel    FileControl
Derived
Implements
INotifyPropertyChanged, IFileControl, IFileControlNotificationSource, ISupportUnloading

Конструкторы

FileControl Создаёт экземпляр класса с указанием начальных значений его свойств и его зависимостей.

Свойства

ActionGenerator Объект, создающий элементы меню для заданных действий [Tessa.UI.Menu.IMenuAction].
ActionsКоллекция действий, связанных с элементом управления файлами.
CategoryFilterAsync Фильтр, принимающий контекст фильтрации категорий файлов, соержащий коллекцию допустимых категорий файлов и список с информаицией о файлах, для которых выбирается категория. Фильтр возвращает категории файлов, которые может использовать пользователь. Если значение равно null или фильтр вернул пустую коллекцию или null, то выбирается пустая категория.
Container Контейнер, содержащий все доступные файлы. Не равен null. Значение свойства можно изменить, чтобы привязать элемент управления к другому контейнеру.
FileActionsКоллекция действий, связанных с файлами внутри элемента управления файлами.
Files Список файлов, отображаемых в элементе управления. При добавлении файлов в эту коллекцию они не синхронизуются с контейнером файлов и присутствуют только в этом элементе управления.
GroupingsКоллекция группировок файлов, которая может быть выбрана с элементе управления.
GroupsExpandedПризнак того, что группы развёрнуты по умолчанию.
Info Дополнительная информация по объекту, доступная для установки в расширениях. Сохраняемая информация может быть несериализуемой, например, можно записать ссылки на модели представлений или любые другие объекты.
IsCategoriesEnabled Признак того, что разрешено использование категорий. В этом случае при добавлении файла пользователь может выбрать его категорию.
IsIgnoreExistingCategories Признак того, что существующие в карточке категории файлов по умолчанию недоступны для выбора. Настройка имеет смысл только в том случае, если использование категорий разрешено.
IsManualCategoriesCreationDisabled Признак того, что при добавлении файла пользователю запрещается вводить имя категории вручную. Настройка имеет смысл только в том случае, если использование категорий разрешено.
IsNullCategoryCreationDisabled Признак того, что при добавлении файла пользователю запрещается выбирать "без категории". Настройка имеет смысл только в том случае, если использование категорий разрешено.
IsPreservingCategoriesOrder Признак того, что при добавлении файла сохраняется порядок категорий, возвращённых представлением. Настройка имеет смысл только в том случае, если использование категорий разрешено.
IsUnloaded Признак того, что объект был выгружен и уже не может использоваться в UI. Например, если объект является контролом карточки, то он становится выгруженным после закрытия формы редактирования строки или пре рефреше карточки.
(Унаследован от SupportUnloadingViewModel)
ItemFilter Фильтр, принимающий модель представления файла и возвращающий true, если файл должен отображаться пользователю, или false в противном случае. Функция вызывается только для тех моделей представления, которые не скрыты по другим условиям (таким как фильтрация через контекстное меню контрола), что позволяет дополнительно скрывать файлы по условию, но не показывать файлы, которые были скрыты по другим причинам. Если значение равно null (по умолчанию), то отображаются все файлы, которые могут быть отображены в соответствии с текущими настройками. После изменения свойства рекомендуется вызвать метод [IFileControl.RefreshItemFilteringAsync] для того, чтобы фильтр был применён к текущим отображаемым файлам.
Items Коллекция моделей представления для файлов, отображаемых в элементе управления. Связана с коллекцией [IFileControl.Files].
ManagerОбъект, управляющий взаимодействием этого контрола файлов с другими контролами и превью.
MenuContextКонтекст, предоставляющий средства для генерации меню.
ModifyFileSelectAsync Функция, принимающая в качестве параметра контекст выбора файла, и используемая для модификации диалога выбора файлов, вызываемого при добавлении нового файла или замене существущего файла.
Name Имя элемента управления файлами или null, если для элемента управления не задано имя. Имя может быть определено из имени элемента управления карточки, если элемент управления файлами используется в карточке. Имя может быть неуникальным.
PreviewControlName Имя элемента управления с областью предпросмотра или null, если используется область предпросмотра по умолчанию.
SelectedFiles Список выбранных файлов, отображаемый в элементе управления.
SelectedFilteringИспользуемая фильтрация файлов. Отфильтрованные файлы не отображаются.
SelectedGrouping Выбранная группировка файлов или null, если группировка ещё не выбрана. По умолчанию значение null.
SelectedItems Список выбранных моделей представления файлов, отображаемый в элементе управления.
SelectedSortDirectionВыбранное направление сортировки. По умолчанию выбрана сортировка по возрастанию.
SelectedSorting Выбранная сортировка файлов или null, если сортировка ещё не выбрана. По умолчанию значение null.
SortingsКоллекция сортировок файлов, которая может быть выбрана с элементе управления.
TypeFilterAsync Фильтр, принимающий контекст фильтрации типов файлов, содержищий коллекцию допустимых типов файлов и список с информацией о файлах, для которых выбирается тип. Возвращает типы файлов, которые может использовать пользователь. Если значение равно null или фильтр вернул пустую коллекцию или null, то пользователю предоставляется выбор из всех возможных типов файлов, о которых известно элементу управления.
ValidateFileCategoryAsync Функция, принимающая в качестве параметра контекст валидации категории файла, содержажий выбранную каегорию файла, а также информацию о файле, для которого производится выбор категории. Используется при выборе категории для нового файла и при смене категории для существуюшего файла.
ValidateFileContentAsync Функция, принимающая в качестве параметра контекст валидации соержимого файла, содержажий информацию о файле. Используется при выборе при добавлении нового файла и при замене существуюшего файла. Не вызывается при редактировании файла через файловую систему.
VersionActionsКоллекция действий, связанных с версиями файлов внутри элемента управления файлами.

Методы

ClearSelectionAsyncСнимает выделение со всех файлов в элементе управления.
ClearSelectionCoreAsyncСнимает выделение со всех файлов в элементе управления.
ClickOnControlEmptyAreaAsync Обрабатывает клик по пустой области. В реализации по умолчанию не выполняется действий. В реализации для карточки позволяет добавить файлы, если область пустая.
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
ExecuteInContextAsync Выполняет делегат в текущем контексте, который передаётся через параметр и через [Tessa.UI.UIContext.Current].
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
FinalizeInitializationAsync Выполняет инициализацию элемента управления в момент завершения его инициализации и инициализации других объектов, в т.ч. других элементов управления в карточке. При этом могут выполняться расширения.
GenerateControlMenuAsync Генерирует контекстное меню для элемента управления. При этом могут выполняться расширения. Возвращает пункты контекстного меню и подготовленные группировки и сортировки, актуальные в текущий момент.
GenerateFileMenuAsync Генерирует контекстное меню для заданного файла. При этом могут выполняться расширения. Возвращает пункты контекстного меню.
GenerateVersionMenuAsync Генерирует контекстное меню для заданной версии файла. При этом могут выполняться расширения. Возвращает пункты контекстного меню.
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetStateВозвращает текущее состояние элемента управления.
GetTypeGets the Type of the current instance.
(Унаследован от Object)
InitializeAsync Выполняет инициализацию элемента управления. При этом могут выполняться расширения.
IsVisible Возвращает признак того, что заданная модель представления файла попадает в отфильтрованную выборку для текущей выбранной фильтрации. Если фильтрация не выбрана, то возвращает true для всех моделей представления файлов, кроме равных null.
ItemIsVisibleAfterFiltering Возвращает признак того, что файл должен отображаться пользователю, если он не скрыт по другим условиям (таким как фильтрация через контекстное меню контрола), что позволяет дополнительно скрывать файлы по условию, но не показывать файлы, которые были скрыты по другим причинам. По умолчанию использует функцию, заданную в свойстве ItemFilter. Если функция равна null, то возвращает true.
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
OnContainerFileAddedAsync Метод, вызываемый после выполненного добавления файла в элемент управления в связи с тем, что файл был добавлен в контейнер [Tessa.UI.Files.IFileControl.Container].
OnContainerFileAddingAsync Метод, вызываемый перед добавлением файла в элемент управления в связи с тем, что файл был добавлен в контейнер [Tessa.UI.Files.IFileControl.Container]. Возвращает признак того, что файл не следует добавлять в элемент управления.
OnContainerFileRemovedAsync Метод, вызываемый после выполненного удаления файла из элемента управления в связи с тем, что файл был удалён из контейнера [Tessa.UI.Files.IFileControl.Container].
OnContainerFileRemovingAsync Метод, вызываемый перед удалением файла из элемента управления в связи с тем, что файл был удалён из контейнера [Tessa.UI.Files.IFileControl.Container]. Возвращает признак того, что файл не следует добавлять в элемент управления.
OnPropertyChanged(PropertyChangedEventArgs) Уведомляет об изменении свойства с именем, заданным в аргументах события.
(Унаследован от NotificationObject)
OnPropertyChanged(String) Уведомляет об изменении свойства с заданным именем у объекта.
(Унаследован от NotificationObject)
OnPropertyChangedAsync(PropertyChangedEventArgs, Boolean) Уведомляет об изменении свойства с именем, заданным в аргументах события, асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationUIObject)
OnPropertyChangedAsync(String, Boolean) Уведомляет об изменении свойства с заданным именем у объекта асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationObject)
OnUnloadingAsync Метод вызывается в процессе выгрузки объекта и выполняет некоторую обработку, например, отписывается от событий и выгружает дочерние объекты (например, контролы в блоке). Исключения в процесс выполнения метода будут поглощены и добавлены в лог.
(Переопределяет SupportUnloadingViewModelOnUnloadingAsync(IValidationResultBuilder))
RefreshItemFilteringAsync Обновляет список элементов управления, которые отображаются на экране. Вызовите метод после установки фильтра [IFileControl.ItemFilter] для его применения ко всем файлам. В противном случае он применяется только при изменении коллекции или при перерисовке списка элементов на экране. Может быть вызван не из потока UI.
SelectFilteringAsyncВыбирает фильтрацию файлов.
SelectGroupingAsyncВыбирает группировку файлов.
SelectSortingAsyncВыбирает сортировку вместе с её направлением.
SetStateAsyncУстанавливает заданное состояние для элемента управления.
ToStringReturns a string that represents the current object.
(Унаследован от Object)
UnloadAsync Выполняет выгрузку объекта. Если объект уже был выгружен, то повторная выгрузка не выполняется.
(Унаследован от SupportUnloadingViewModel)
UpdateFiltering Обновляет состояние фильтрации в соответствии с выбранным значением SelectedFiltering.
UpdateGrouping Обновляет состояние группировки в соотвествии с выбранным значением SelectedGrouping.
UpdateSorting Обновляет состояние сортировки в соотвествии с выбранным значением SelectedSorting.

События

ContainerFileAdded Событие, возникающее после выполненного добавления файла в элемент управления в связи с тем, что файл был добавлен в контейнер [IFileControl.Container]. Если событие [IFileControlNotificationSource.ContainerFileAdding] было отменено, то файл добавлен не был, и это событие не выполняется.
ContainerFileAdding Событие, возникающее перед добавлением файла в элемент управления в связи с тем, что файл был добавлен в контейнер [IFileControl.Container].
ContainerFileRemoved Событие, возникающее после выполненного удаления файла из элемента управления в связи с тем, что файл был удалён из контейнера [IFileControl.Container]. Если событие [IFileControlNotificationSource.ContainerFileRemoving] было отменено, то файл удалён не был, и это событие не выполняется.
ContainerFileRemoving Событие, возникающее перед удалением файла из элемента управления в связи с тем, что файл был удалён из контейнера [IFileControl.Container].
PropertyChangedСобытие, уведомляющее об изменении свойства с определённым именем у модели представления.
(Унаследован от NotificationObject)
Unloaded Событие, возникающее после того, как объект был выгружен и уже не может использоваться в UI. Если на некоторые свойства объекта, связанные с UI, выполнялась подписка, то в обработчике события можно выполнить отписку, а также удалить сам обработчик.
(Унаследован от SupportUnloadingViewModel)

Методы расширения

Get
(Определяется ComHelper)
Invoke
(Определяется ComHelper)
Set
(Определяется ComHelper)
SetFilePreviewAction Устанавливает метод, определяющий параметры предпросмотра файла с конвертацией. Метод вызывается при предпросмотре файлов, у которых ещё не выполнена конвертация, т.е. не установлен отдельный объект PreviewContent, но при этом текущее содержимое [!:IFile.Content] не отмечено, как изменённое IsDirty. Если файл был открыт на редактирование (отображается жёлтым), то стандартный предпросмотр для него отключён.
(Определяется FileUIExtensions)
SetNewFileAction Устанавливает метод, определяющий параметры файла, добавляемого специальным образом. Метод вызывается при добавлении файлов в специальных случаях, таких как создание файла по шаблону и сохранение многостраничного документа из окна сканирования. Метод не вызывается при типовой загрузке файлов через меню контрола или буфер обмена.
(Определяется FileUIExtensions)
SetNewPhysicalFileAction Устанавливает метод, определяющий параметры файла, добавляемого по заданному пути на диске. Метод вызывается при добавлении файлов в типовых сценариях (функция "Загрузить файлы", вставка из буфера обмена, drag&drop). Для специальных случаев, таких как создание файла по шаблону или добавление из окна сканирования, используйте методы SetNewFileAction.
(Определяется FileUIExtensions)
TryGetFilePreviewAction Возвращает метод, определяющий параметры предпросмотра файла с конвертацией, или null, если такой метод отсутствует. Метод должен быть выполнен с указанием текущего контекста Current. Метод вызывается при предпросмотре файлов, у которых ещё не выполнена конвертация, т.е. не установлен отдельный объект PreviewContent, но при этом текущее содержимое [!:IFile.Content] не отмечено, как изменённое IsDirty. Если файл был открыт на редактирование (отображается жёлтым), то стандартный предпросмотр для него отключён.
(Определяется FileUIExtensions)
TryGetNewFileAction Возвращает метод, определяющий параметры файла, добавляемого специальным образом, или null, если такой метод отсутствует. Метод должен быть выполнен с указанием текущего контекста Current. Метод вызывается при добавлении файлов в специальных случаях, таких как создание файла по шаблону и сохранение многостраничного документа из окна сканирования. Метод не вызывается при типовой загрузке файлов через меню контрола или буфер обмена.
(Определяется FileUIExtensions)
TryGetNewPhysicalFileAction Возвращает метод, определяющий параметры файла, добавляемого по заданному пути на диске, или null, если такой метод отсутствует. Метод должен быть выполнен с указанием текущего контекста Current. Метод вызывается при добавлении файлов в типовых сценариях (функция "Загрузить файлы", вставка из буфера обмена, drag&drop). Для специальных случаев, таких как создание файла по шаблону или добавление из окна сканирования, используйте методы TryGetNewFileAction.
(Определяется FileUIExtensions)
UnloadAsync Выполняет выгрузку объекта. Если объект уже был выгружен, то повторная выгрузка не выполняется. Возвращает объект, содержащий сообщения, возникшие в процессе выгрузки, в т.ч. ошибки.
(Определяется UIExtensions)

См. также