загруженный элемент управления uwp должен дождаться окончания загрузки - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть страница, где я должен асинхронно загружать Список некоторых данных из Сервиса webApi, и когда элементы управления на этой странице загружаются, они должны соответствующим образом получать свои данные из этого Списка.Ниже приведен мой код.

private IEnumerable<Comment> comments;
protected async override void OnNavigatedTo(NavigationEventArgs e)
    {
        comments = await CommentsService.GetAllCommentsForThisPage("FluentCallerApp", "MainPage");
        base.OnNavigatedTo(e);
    }

    private void FieldLoaded(object sender, RoutedEventArgs e)
    {
        var noteBox = sender as NoteTextBox;
        var myComments = comments.Where(a => a.FieldId == noteBox.FieldId);
        //update field control properties.
    }

Теперь проблема в том, что комментарии в событии FieldLoaded имеют значение null, обратите внимание, что FieldLoaded привязан к нескольким элементам управления одного типа, и все они должны получать свои данные изэто событие.Мне нужно, чтобы пользовательский интерфейс реагировал, поэтому мне нужно, чтобы все было асинхронно, и по соображениям производительности я делаю вызов webApi только один раз, чтобы получить все данные для всех полей этой страницы.Я также попытался лениво загрузить поле комментариев с помощью асинхронного метода, но проблема в том, что каждый элемент управления пытается получить комментарии снова, потому что первый метод никогда не завершается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...