Содержимое XAML не обновляется должным образом в приложении .net MAUI.IOS

Программируем под IOS
Гость
Содержимое XAML не обновляется должным образом в приложении .net MAUI.

Сообщение Гость »


В моем приложении .Net MAUI есть страница 1 и страница 2. На странице 1 есть StackLayout, который скрыт или отображается на основе данных модели представления. Вот упрощенный код xaml:

Изначально StackLayout невидим, поэтому отображаются только метка и кнопка под ней.

Пользователь переходит на страницу 2, используя следующий вызов из модели представления:

await Shell.Current.GoToAsync(nameof(AppointmentSchedulePage), true, ScheduleParameter); На странице 2 пользователь выполняет какое-то действие, после чего возвращается на страницу 1, вызывая следующий код из модели представления страницы 2:

ждут MainThread.InvokeOnMainThreadAsync(async () => { ждут Shell.Current.Navigation.PopAsync(); }); Благодаря изменениям, внесенным на странице 2, теперь StackLayout на странице 1 становится видимым.

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

Эта проблема существует только в iOS (на моем iPhone), но не в Android.

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

Я пытался заменить PopAsync() на GoToAsync(), но это не помогло. Я также попытался установить для параметра UpperOptions родительского StackLayout значение FillAndExpand или StartAndExpand, но это тоже не помогло. Я также попробовал ForceLayout() на странице 1, но безуспешно.

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