Как стать автором
Обновить
6
0
Oleksandr Movchan @o_movchan

Mobile applications developer

Отправить сообщение
Не совсем так. Метод SetViewModel — это метод вьюхи, который мы использовали для кастомного биндинга, и биндили соотвественно EmptyStateViewModel/ErrorStateViewModel из родительской вью-модели, на этот метод.
Сам кастомный биндинг я сюда не выносил, так как он все равно будет разничаться для всех mvvm-фреймворков.
А прописывали биндинг EmptyStateViewModel/ErrorStateViewModel вью-модели на этот метод SetViewModel естественно, в родительской вьюхе, потому ViewModel ничего не знала о View.
По сути, вместо медота SetViewModel можно попросту биндить на проперти ViewModel у вьюхи, и в set прописать соответствующую логику с ViewVisibility.
Наиболее популярный, и часто встречающийся — MvvmCross. Работает как и с Xamarin Native, так и с Forms.
От себя бы порекомендовал еще FlexiMvvm. Но он исключительно для Xamarin Native. Не очень популярный, но намного ниже порог входа, чем у Cross, и менее тяжеловесный.
Есть еще MVVM Light, но с ним не работал, потому не могу ничего сказать.
Да, согласен, в первую очередь, конечно, стоит бороться с первоисточником проблемы (в случае ошибки обработки запроса)
Но данная вьюха, в случае отсутствия данных (к примеру, для нового пользователя, который еще не начал взаимодействие с приложением) — выглядит в любом случае и приятней, чем просто пустой экран, и подсказывает, что пользователю вообще на этом экране стоит в будущем ожидать.
В случае ошибки — я согласен, тут есть смысл доработать, и например, замапить текст/текст и картинку на тот же код ошибки, и выводить более user-friendly сообщение, с уточнением причины, и подсказками, что он бы мог в данном случае сделать.

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность