Привязка обновлений к страницам компонентов оболочки отложена - PullRequest
1 голос
/ 10 октября 2019

Итак, у меня есть оболочка с домашней страницей и страницей настроек. Страница настроек вносит изменения в одноэлементную службу, к которой привязана ViewModel дома (MVVM).

Я установил точки останова в PropertyChangedEvents элементов на домашней странице, и они достигают, как только вносятся измененияк свойствам службы и выполнению их PropertyChanged.

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

Есть ли способ принудительно обновить интерфейс пользователя раньше или есть какие-то другие альтернативы? В анимации, чтобы изменения в ViewModel не вызывали мигания.

1 Ответ

0 голосов
/ 10 октября 2019

Даже у меня есть приложение Xamarin Forms Shell, и у меня тоже была та же проблема, так что вы можете сделать так: сделать общие свойства глобальными, как в, сделать эти свойства в App.xaml.cs и пометить их как статические. Поэтому, когда пользователь изменяет свойство в настройках, меняйте App.PropertyName.

Затем на методе домашней страницы OnApearing вызовите метод в ViewModel, скажем LoadDataValues ​​() и прочитайте App.PropertyName и измените пользовательский интерфейс по мере необходимости. .

Перед тем, как появится HomePage, будет готов интерфейс пользователя HomePage.

Дайте мне знать, если у вас возникнут дополнительные проблемы.

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