Ошибки стека навигации Xamarin Forms при автоматическом нажатии страницы после получения данных из API - PullRequest
0 голосов
/ 16 июня 2020

У меня есть страница форм Xamarin, которая извлекает данные из API, а затем автоматически подталкивает другую страницу. Это работает в первый раз, но при последующих вызовах он проталкивает вновь созданную страницу, а также страницу, созданную в последнем цикле, в иерархию представлений.

Примерно так:

Первое использование: pushPage1

  1. page1 загружает данные
  2. page1 автоматически подталкивает page2 (первый экземпляр)
  3. page2 отображается правильно
  4. стек страниц rootPage-> page1- > page2 (первый экземпляр)
  5. popTo Root

Второе использование: pushPage1

  1. page1 загружает данные
  2. page1 автоматически нажимает page2 (второй экземпляр)
  3. page2 (первый экземпляр) отображается первым
  4. page2 (второй экземпляр) отображается вторым
  5. стек страниц rootPage-> page1-> page2 (первый экземпляр ) -> page2 (второй экземпляр)

Если я не автоматически sh и жду ввода пользователя в pu sh page 2, я не получаю этого неожиданного поведения. Я все равно получу это, если добавлю задержку после получения данных из API.

Изменить: я отследил это до использования центра обмена сообщениями. Моя страница pu sh запускается центром обмена сообщениями. Однако я вызываю в основном потоке так:

Device.BeginInvokeOnMainThread(() => {

Есть идеи?

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