Реализация «простой» версии NavigationPage для ContentView - проблема производительности - PullRequest
0 голосов
/ 05 ноября 2018

Я создаю приложение, в котором есть главная страница с заголовком, нижним колонтитулом и динамическим ConventView в центре.

Зависит от кнопки, на которую нажали (либо в нижнем колонтитуле, либо внутри страницы, отображаемой в представлении содержимого), представление в ContentView обновляется / изменяется. Таким образом, мне нужно было заставить ContentView действовать как привязываемый элемент управления.

Чтобы это работало, я поддерживаю в ViewModel главной страницы стек кортежей.

Каждый раз, когда содержимое должно быть изменено в ContentView, я помещаю текущий BindingContext (некоторый экземпляр ViewModel) в этот стек в паре со страницей, которая в данный момент отображается в ContentView. (или выскочить из стека, если мне нужно вернуться к предыдущему виду) После этого я установил для ContentView запрашиваемое представление с соответствующим ему ViewModel в качестве BindingContext.

Я заметил, что процедура изменения BindingContext - это проблема производительности. В большинстве случаев изменение BindingContext может занять 4-6 секунд (!!). Как я могу решить эту проблему с производительностью (не разрушая созданный мной механизм навигации)?

Спасибо

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