FormViewModelBase - класс

Базовый класс для моделей представления формы в автоматическом UI карточки.

Definition

Пространство имён: Tessa.UI.Cards.Forms
Сборка: Tessa.UI (в Tessa.UI.dll) Версия: 3.6.0.22
C#
public abstract class FormViewModelBase : SupportUnloadingWorkspaceModel, 
	IFormViewModel, IWorkspaceModel, INotifyPropertyChanged, ISupportTabNotifications, ISupportUnloading, 
	IContextMenuProvider, IAsyncInitializable
Inheritance
Object    NotificationObject    NotificationUIObject    WorkspaceModel    SupportUnloadingWorkspaceModel    FormViewModelBase
Derived
Implements
INotifyPropertyChanged, IAsyncInitializable, IFormViewModel, ISupportTabNotifications, ISupportUnloading, IWorkspaceModel, IContextMenuProvider

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

FormViewModelBase Создаёт экземпляр класса с указанием метаинформации о форме.

Свойства

AutomationId Идентификатор объекта для автоматизации.
BlockMarginОтступ между блоками внутри формы.
BlocksУпорядоченная коллекция блоков на форме, доступная только для чтения.
CardTypeFormИнформация о типе отображаемой формы.
CloseCommandКоманда закрытия рабочей области.
(Унаследован от WorkspaceModel)
ContextMenuGeneratorsСписок методов для генерации контекстного меню формы.
EnableScrolling Признак того, что включена прокрутка формы, когда блоки не умещаются на экране. По умолчанию равен false. Не указывайте true, если такая форма расположена внутри другой формы, которая использует свою прокрутку (например, форма с отключённым расположением блоков).
FileControlManager Объект, управляющий элементами управления файлов на форме, или null, если форма не содержит ни одного элемента управления со списком файлов.
FilePreview Модель представления для предварительного просмотра содержимого файла на форме или null, если форма не содержит ни одного элемента управления со списком файлов.
FilePreviewIsHidden Признак того, что область предпросмотра скрыта индивидуально для этой вкладки. Изменяйте свойство в расширениях. Если указано null (по умолчанию), то используются общие настройки предпросмотра для всех вкладок. При изменении настроек области предпросмотра пользователем (через контекстное меню контрола файлов или кнопку скрытия) значение этого свойства может быть снова сброшено в null.
Initialized Признак того, что форма уже инициализирована вызовом InitializeAsync(CancellationToken), поэтому повторные вызовы метода будут игнорироваться.
IsClosedПризнак того, что рабочая область была закрыта.
(Унаследован от WorkspaceModel)
IsCollapsedПризнак того, что вкладка скрывается.
IsEmptyПризнак того, что форма не содержит отображаемых данных.
IsUnloaded Признак того, что объект был выгружен и уже не может использоваться в UI. Например, если объект является контролом карточки, то он становится выгруженным после закрытия формы редактирования строки или пре рефреше карточки.
(Унаследован от SupportUnloadingWorkspaceModel)
Name Имя формы, по которому она доступна в коллекции, или null, если это основная форма типа карточки или другая форма, не имеющая имени.
SettingsНастройки модели представления карточки, с которой связана форма.
TabCaption Заголовок вкладки или null, если форма не является вкладкой или заголовок не задан.

Методы

CloseAsync Асинхронно закрывает рабочую область. Возвращает false, если закрытие области было отменено, причём значение будет возвращено синхронно. Используйте код следующего вида в обработчике события window.Closing: async (s, e) => { var task = model.CloseAsync(); e.Cancel = task.IsCompleted && !task.Result; await task; }
(Унаследован от WorkspaceModel)
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
GetContextMenuAsync Возвращает контекстное меню, доступное для текущей модели представления. Если возвращается null, пустая коллекция или коллекция из скрытых элементов, то меню при этом не отображается.
GetExpandableBlockGroup Возвращает блоки, которые входят в группу, сворачиваемую и разворачиваемую единомоментно. Такая группа начинается с блока, имеющего видимый заголовок и нескрытого, и заканчивается или последним блоком без заголовка, или скрытым блоком, или блоком, который расположен перед блоком с признаком [IBlockViewModel.DoNotCollapseWithTopBlock].
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetStateВозвращает текущее состояние формы.
GetTypeGets the Type of the current instance.
(Унаследован от Object)
InitializeCoreAsync 
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
NotifyTabDeselectedAsync Уведомляет текущий объект и все его дочерние объекты о том, что он располагался на выбранной вкладке, после чего выбрали другую вкладку.
NotifyTabSelectedAsync Уведомляет текущий объект и все его дочерние объекты о том, что он расположен в текущей выбранной вкладке. Событие для выбранной вкладки вызывается после того, как было вызвано событие TabDeselected для вкладки, которая перестала быть выбранной.
OnClosedAsyncПроисходит при закрытии рабочей области.
(Переопределяет WorkspaceModelOnClosedAsync(DeferredEventArgs, CancellationToken))
OnClosingAsync Происходит перед закрытием рабочей области. На этом этапе закрытие можно отменить, установив флаг Cancel в аргументах события.
(Унаследован от WorkspaceModel)
OnPropertyChanged(PropertyChangedEventArgs) Уведомляет об изменении свойства с именем, заданным в аргументах события.
(Унаследован от NotificationObject)
OnPropertyChanged(String) Уведомляет об изменении свойства с заданным именем у объекта.
(Унаследован от NotificationObject)
OnPropertyChangedAsync(PropertyChangedEventArgs, Boolean) Уведомляет об изменении свойства с именем, заданным в аргументах события, асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationUIObject)
OnPropertyChangedAsync(String, Boolean) Уведомляет об изменении свойства с заданным именем у объекта асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationObject)
OnUnloadingAsync Метод вызывается в процессе выгрузки объекта и выполняет некоторую обработку, например, отписывается от событий и выгружает дочерние объекты (например, контролы в блоке). Исключения в процесс выполнения метода будут поглощены и добавлены в лог.
(Переопределяет SupportUnloadingWorkspaceModelOnUnloadingAsync(IValidationResultBuilder))
Rearrange Выполняет перерисовку содержимого в зависимости от состояния объекта с учётом дочерних объектов, в т.ч. от видимости блоков.
RearrangeChildren Выполняет перерисовку содержимого в зависимости от состояния дочерних объектов, в т.ч. от видимости блоков.
RearrangeSelf Выполняет перерисовку содержимого в зависимости от состояния объекта без учёта дочерних объектов.
RearrangeSelfInternal 
SetIsClosedAsyncУстанавливает признак того, что рабочая область была закрыта.
(Унаследован от WorkspaceModel)
SetStateAsyncУстанавливает заданное состояние формы.
ToStringReturns a string that represents the current object.
(Унаследован от Object)
UnloadAsync Выполняет выгрузку объекта. Если объект уже был выгружен, то повторная выгрузка не выполняется.
(Унаследован от SupportUnloadingWorkspaceModel)

События

ClosedПроисходит при закрытии рабочей области.
(Унаследован от WorkspaceModel)
ClosingПроисходит перед закрытием рабочей области.
(Унаследован от WorkspaceModel)
PropertyChangedСобытие, уведомляющее об изменении свойства с определённым именем у модели представления.
(Унаследован от NotificationObject)
TabDeselected Событие, происходящее для объекта, который располагался на выбранной вкладке, после чего выбрали другую вкладку.
TabSelected Событие, происходящее при переходе объекта на выбранную вкладку. Событие для выбранной вкладки вызывается после того, как было вызвано событие TabDeselected для вкладки, которая перестала быть выбранной.
Unloaded Событие, возникающее после того, как объект был выгружен и уже не может использоваться в UI. Если на некоторые свойства объекта, связанные с UI, выполнялась подписка, то в обработчике события можно выполнить отписку, а также удалить сам обработчик.
(Унаследован от SupportUnloadingWorkspaceModel)

Поля

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

Get
(Определяется ComHelper)
InternalMarkerCanvas Возвращает маркер аннотации
(Определяется AnnotationInternalsAccessor)
Invoke
(Определяется ComHelper)
Set
(Определяется ComHelper)
UnloadAsync Выполняет выгрузку объекта. Если объект уже был выгружен, то повторная выгрузка не выполняется. Возвращает объект, содержащий сообщения, возникшие в процессе выгрузки, в т.ч. ошибки.
(Определяется UIExtensions)

См. также