У меня есть страница форм Xamarin, которая извлекает данные из API, а затем автоматически подталкивает другую страницу. Это работает в первый раз, но при последующих вызовах он проталкивает вновь созданную страницу, а также страницу, созданную в последнем цикле, в иерархию представлений.
Примерно так:
Первое использование: pushPage1
- page1 загружает данные
- page1 автоматически подталкивает page2 (первый экземпляр)
- page2 отображается правильно
- стек страниц rootPage-> page1- > page2 (первый экземпляр)
- popTo Root
Второе использование: pushPage1
- page1 загружает данные
- page1 автоматически нажимает page2 (второй экземпляр)
- page2 (первый экземпляр) отображается первым
- page2 (второй экземпляр) отображается вторым
- стек страниц rootPage-> page1-> page2 (первый экземпляр ) -> page2 (второй экземпляр)
Если я не автоматически sh и жду ввода пользователя в pu sh page 2, я не получаю этого неожиданного поведения. Я все равно получу это, если добавлю задержку после получения данных из API.
Изменить: я отследил это до использования центра обмена сообщениями. Моя страница pu sh запускается центром обмена сообщениями. Однако я вызываю в основном потоке так:
Device.BeginInvokeOnMainThread(() => {
Есть идеи?