CardUIExtensionsCreateAndInitializeModelAsync - метод |
Создаёт и инициализирует модель представления карточки с заданными параметрами.
Созданная модель представления защищается от изменений посредством вызова
Seal
перед тем, как будет возвращена. Сразу после этого её можно присвоить в свойстве
CardModel.
Пространство имён:
Tessa.UI.Cards
Сборка:
Tessa.UI (в Tessa.UI.dll) Версия: 3.5.0.19
Синтаксис public static Task<ICardModel> CreateAndInitializeModelAsync(
this ICardEditorModel editor,
Card card,
StringDictionaryStorage<CardRow> sectionRows = null,
CardModelFlags flags = CardModelFlags.None,
UIContextExecutorAsync contextExecutorAsync = null,
CardModelSavingFuncAsync savingFuncAsync = null,
IUIContext otherContext = null,
Func<ICardModel, CancellationToken, Task> initializingModelActionAsync = null,
Func<ICardModel, CancellationToken, Task> initializedModelActionAsync = null,
CancellationToken cancellationToken = default
)
<ExtensionAttribute>
Public Shared Function CreateAndInitializeModelAsync (
editor As ICardEditorModel,
card As Card,
Optional sectionRows As StringDictionaryStorage(Of CardRow) = Nothing,
Optional flags As CardModelFlags = CardModelFlags.None,
Optional contextExecutorAsync As UIContextExecutorAsync = Nothing,
Optional savingFuncAsync As CardModelSavingFuncAsync = Nothing,
Optional otherContext As IUIContext = Nothing,
Optional initializingModelActionAsync As Func(Of ICardModel, CancellationToken, Task) = Nothing,
Optional initializedModelActionAsync As Func(Of ICardModel, CancellationToken, Task) = Nothing,
Optional cancellationToken As CancellationToken = Nothing
) As Task(Of ICardModel)
public:
[ExtensionAttribute]
static Task<ICardModel^>^ CreateAndInitializeModelAsync(
ICardEditorModel^ editor,
Card^ card,
StringDictionaryStorage<CardRow^>^ sectionRows = nullptr,
CardModelFlags flags = CardModelFlags::None,
UIContextExecutorAsync^ contextExecutorAsync = nullptr,
CardModelSavingFuncAsync^ savingFuncAsync = nullptr,
IUIContext^ otherContext = nullptr,
Func<ICardModel^, CancellationToken, Task^>^ initializingModelActionAsync = nullptr,
Func<ICardModel^, CancellationToken, Task^>^ initializedModelActionAsync = nullptr,
CancellationToken cancellationToken = CancellationToken()
)
[<ExtensionAttribute>]
static member CreateAndInitializeModelAsync :
editor : ICardEditorModel *
card : Card *
?sectionRows : StringDictionaryStorage<CardRow> *
?flags : CardModelFlags *
?contextExecutorAsync : UIContextExecutorAsync *
?savingFuncAsync : CardModelSavingFuncAsync *
?otherContext : IUIContext *
?initializingModelActionAsync : Func<ICardModel, CancellationToken, Task> *
?initializedModelActionAsync : Func<ICardModel, CancellationToken, Task> *
?cancellationToken : CancellationToken
(* Defaults:
let _sectionRows = defaultArg sectionRows null
let _flags = defaultArg flags CardModelFlags.None
let _contextExecutorAsync = defaultArg contextExecutorAsync null
let _savingFuncAsync = defaultArg savingFuncAsync null
let _otherContext = defaultArg otherContext null
let _initializingModelActionAsync = defaultArg initializingModelActionAsync null
let _initializedModelActionAsync = defaultArg initializedModelActionAsync null
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> Task<ICardModel>
Параметры
- editor
- Тип: Tessa.UI.CardsICardEditorModel
Редактор карточек, посредством которого создаётся и инициализируется модель представления карточки.
Этот редактор может использоваться в дальнейшем для редактирования карточки,
если результат этого метода будет присвоен в свойстве CardModel.
- card
- Тип: Tessa.CardsCard
Карточка, для которой требуется создать модель представления. - sectionRows (Optional)
- Тип: Tessa.Platform.StorageStringDictionaryStorageCardRow
Коллекция строк, используемых для создания новых строк в коллекционных и древовидных секциях карточки,
или null, если такие строки не используются.
Рекомендуется указывать этот параметр для всех случаев, кроме тех, когда карточка не содержит
редактируемых коллекционных или древовидных секций.
- flags (Optional)
- Тип: Tessa.UI.CardsCardModelFlags
Флаги, устанавливаемые для созданной модели представления. - contextExecutorAsync (Optional)
- Тип: Tessa.UIUIContextExecutorAsync
Действие, выполняющее заданное действие в контексте IUIContext,
или null, если используется действие по умолчанию.
Указание UnknownContextExecutorAsync(FuncIUIContext, CancellationToken, ValueTask, CancellationToken) позволяет
выполнять действия в контексте Unknown.
- savingFuncAsync (Optional)
- Тип: Tessa.UI.CardsCardModelSavingFuncAsync
Функция, выполняющая сохранение карточки, или null, если используется функция по умолчанию.
Указание EmptySavingFuncAsync(ICardSavingRequest, CancellationToken) позволяет не выполнять действий при сохранении карточки.
- otherContext (Optional)
- Тип: Tessa.UIIUIContext
Контекст операции с пользовательским интерфейсом, который будет использоваться для расширений на инициализацию модели карточки
(свойство context.UIContext, доступное внутри расширения). Если указано null, то будет использоваться
контекст редактора editor.
- initializingModelActionAsync (Optional)
- Тип: SystemFuncICardModel, CancellationToken, Task
Метод, который может изменить созданную модель представления ICardModel
перед тем, как будет создано UI и будут инициализированы расширения UI.
Указание null позволяет не выполнять действий на этом этапе.
- initializedModelActionAsync (Optional)
- Тип: SystemFuncICardModel, CancellationToken, Task
Метод, который может изменить созданную модель представления ICardModel
после того, как было создано UI и были инициализированы расширения UI.
Указание null позволяет не выполнять действий на этом этапе.
- cancellationToken (Optional)
- Тип: System.ThreadingCancellationToken
Объект, посредством которого можно отменить асинхронную задачу.
Возвращаемое значение
Тип:
TaskICardModelСозданная модель представления карточки.
Примечание об использовании
В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа
ICardEditorModel. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе
Методы расширения (Visual Basic) или
Методы расширения (Руководство по программированию в C#).
См. также