BlockViewModelBase - класс

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

Definition

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

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

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

Свойства

BlockDependencies Зависимости для построения моделей представления для блоков.
BlockMargin 
BlockVisibilityВидимость блока.
CaptionЗаголовок блока.
CaptionVisibilityВидимость заголовка блока.
CardTypeBlockИнформация о типе отображаемого блока.
ControlMargin Предпочитаемый отступ элемента управления относительно других элементов управления. Обычно для всех элементов управления, кроме первого, задаётся отступ сверху.
ControlsУпорядоченная коллекция элементов управления в блоке, доступная только для чтения.
DoNotCollapseWithTopBlockПризнак того, блок не должен сворачиваться вместе с верхнем блоком. По умолчанию блок сворачивается вместе с верхним блоком, если его заголовок скрыт.
FormФорма, в которой размещён текущий блок.
FormattingSettings Настройки форматирования. Установлены в методе инициализации InitializeAsync(CancellationToken) перед вызовом перегрузки InitializeCoreAsync(CancellationToken).
HelpCommand Команда, которая обрабатывает действие, связанное со справкой, для элементов управления в блоке.
Initialized Признак того, что форма уже инициализирована вызовом InitializeAsync(CancellationToken), поэтому повторные вызовы метода будут игнорироваться.
IsEmptyПризнак того, что блок не содержит отображаемых данных.
IsExpandable Признак того, что блок может сворачиваться и разворачиваться, независимо от других блоков. Обычно у такого блока есть заголовок и он является видимым. Значение свойства носит рекомендательный характер и может игнорироваться при установке свойства [IBlockViewModel.IsExpanded].
IsExpanded Признак того, что блок развернут. Для сворачивания и разворачивания блоков группами рекомендуется использовать метод [IBlockViewModel.ExpandBlockGroup].
IsExpandedWithGroup Признак того, что блок развёрнут. Установка значения свойства аналогична вызову метода ExpandBlockGroup(Boolean). Свойство используется для привязки в UI, не рекомендуется использовать его в расширениях. Вместо этого применяйте свойство IsExpanded и метод ExpandBlockGroup(Boolean).
Устарело.
IsUnloaded Признак того, что объект был выгружен и уже не может использоваться в UI. Например, если объект является контролом карточки, то он становится выгруженным после закрытия формы редактирования строки или пре рефреше карточки.
(Унаследован от SupportUnloadingViewModel)
IsVisibilityRearranged Признак того, что видимость блока была изменена в процессе перерисовки содержимого. Поле используется системой и сбрасывается в false при ручном изменении видимости.
LeftCaptions Признак того, что заголовки элементов управления выводятся слева, а не сверху. Блок может не поддерживать такой вывод, в этом случае изменение свойства не приводит к изменению заголовков. После изменения значения вызовите метод [IBlockViewModel.RearrangeSelf] или [IBlockViewModel.Rearrange].
NameИмя блока, по которому он доступен в коллекции.
StateRestoreMode Режим восстановления состояния блока. По умолчанию имеет значение [StateRestoreMode.All].
StretchVertically Признак того, что единственный элемент управления растягивается по вертикали на максимальную доступную высоту. Рекомендуется для предпросмотра файлов и других элементов управления, которые должны сразу занять максимум места.

Методы

EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
ExpandBlockGroup Сворачивает или разворачивает группу блоков, в которую входит текущий блок. Например, если за текущим блоком есть несколько блоков без заголовков, то их содержимое также будет свёрнуто или развёрнуто. Это рекомендуемый способ управления сворачиваемостью блоков, аналогичный тому, что происходит при клике по заголовку блока.
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetState Возвращает текущее состояние элемента управления. Может вернуть null, если элемент управления не имеет состояния.
GetTypeGets the Type of the current instance.
(Унаследован от Object)
InitializeCoreAsyncВыполняет асинхронную инициализацию объекта.
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
NotifyTabDeselectedAsync Уведомляет текущий объект и все его дочерние объекты о том, что он располагался на выбранной вкладке, после чего выбрали другую вкладку.
NotifyTabSelectedAsync Уведомляет текущий объект и все его дочерние объекты о том, что он расположен в текущей выбранной вкладке. Событие для выбранной вкладки вызывается после того, как было вызвано событие TabDeselected для вкладки, которая перестала быть выбранной.
OnPropertyChanged(PropertyChangedEventArgs) Уведомляет об изменении свойства с именем, заданным в аргументах события.
(Унаследован от NotificationObject)
OnPropertyChanged(String) Уведомляет об изменении свойства с заданным именем у объекта.
(Унаследован от NotificationObject)
OnPropertyChangedAsync(PropertyChangedEventArgs, Boolean) Уведомляет об изменении свойства с именем, заданным в аргументах события, асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationUIObject)
OnPropertyChangedAsync(String, Boolean) Уведомляет об изменении свойства с заданным именем у объекта асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationObject)
OnUnloadingAsync Метод вызывается в процессе выгрузки объекта и выполняет некоторую обработку, например, отписывается от событий и выгружает дочерние объекты (например, контролы в блоке). Исключения в процесс выполнения метода будут поглощены и добавлены в лог.
(Переопределяет SupportUnloadingViewModelOnUnloadingAsync(IValidationResultBuilder))
Rearrange Выполняет перерисовку содержимого в зависимости от состояния объекта с учётом дочерних объектов, в т.ч. от видимости элементов управления.
RearrangeChildren Выполняет перерисовку содержимого в зависимости от состояния дочерних объектов, в т.ч. от видимости элементов управления.
RearrangeSelf Выполняет перерисовку содержимого в зависимости от состояния объекта без учёта дочерних объектов.
RearrangeSelfInternal 
SetFormУстанавливает форму, в котором размещён блок.
SetStateAsyncУстанавливает заданное состояние элемента управления.
ToStringReturns a string that represents the current object.
(Унаследован от Object)
UnloadAsync Выполняет выгрузку объекта. Если объект уже был выгружен, то повторная выгрузка не выполняется.
(Унаследован от SupportUnloadingViewModel)

События

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

Поля

BlockMarginInternal 
BlockVisibilityInternalВидимость блока.
CaptionInternalЗаголовок блока.
CaptionVisibilityInternalВидимость заголовка блока.
ControlMarginInternal Предпочитаемый отступ элемента управления относительно других элементов управления. Обычно для всех элементов управления, кроме первого, задаётся отступ сверху.
FormInternalФорма, в которой размещён текущий блок.
IsExpandedInternal 
LeftCaptionsInternal 
StretchVerticallyInternal 

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

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

См. также