При вызове EndDialogAsync в дочернем диалоговом окне ResumeDialogAsync не вызывается в родительском диалоге.C#

Место общения программистов C#
Anonymous
При вызове EndDialogAsync в дочернем диалоговом окне ResumeDialogAsync не вызывается в родительском диалоге.

Сообщение Anonymous »

У меня есть два диалога: ParentDialog и ChildDialog, оба являются производными от ComponentDialog, родительский элемент переопределяет OnBeginDialogAsync и там вызывается ребенок:

Код: Выделить всё

protected override async Task OnBeginDialogAsync(DialogContext innerDc, object options, CancellationToken cancellationToken = default) {
return await innerDc.BeginDialogAsync(nameof(ChildDialog), options, cancellationToken);
}
В дочернем элементе я делаю несколько запросов и после завершения вызываю index.EndDialogAsync(result,cancellationToken);. В родительском элементе я переопределяю ResumeDialogAsync:

Код: Выделить всё

public override Task ResumeDialogAsync(DialogContext outerDc, DialogReason reason, object result = null, CancellationToken cancellationToken = default) {
return base.ResumeDialogAsync(outerDc, reason, result, cancellationToken);
}
В документации указано, что ResumeDialogAsync представляет собой:

метод, вызываемый, когда экземпляр диалог возвращается из другого диалога, который был запущен текущим экземпляром с помощью BeginDialogAsync(). Если этот метод НЕ реализован, диалог будет автоматически завершен вызовом EndDialogAsync(). Любой результат, переданный из вызванного диалога, будет передан родительскому элементу текущего диалога.

Мой вопрос: почему этот метод вообще не вызывается, не так ли? что-то пропустил?
Спасибо, что нашли время на чтение. Надеюсь, я выразился достаточно ясно и ценю любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/596 ... -get-calle

Вернуться в «C#»