Xamarin MVVM Обновление модели при смене комплектовщика - PullRequest
0 голосов
/ 18 мая 2018

В следующем примере используется подход MVVM для обновления свойства на основе выбора средства выбора:

https://github.com/xamarin/xamarin-forms-samples/blob/master/UserInterface/BindablePicker/BindablePicker/BindablePicker/SimpleColorPickerPageViewModel.cs

Используется OnPropertyChanged ("SelectedColor");когда выбор изменяется, чтобы обновить другое свойство.

У меня есть два вопроса:

Во-первых, есть ли преимущество использования этого подхода по сравнению с обычным событием OnSelectedIndexChanged в xaml.cs?

Во-вторых, как бы я использовал этот подход, если бы я хотел обновить определенный элемент для моего пользовательского объекта в моей модели представления.Например, если выбранный элемент изменился в приведенном выше примере, сохранить значение в другом объекте в модели представления?

Просто кажется, что подход OnSelectedIndexChanged кажется слишком сложным, но предположить, что у меня есть преимущества, о которых я не знаю?

В основном у меня есть несколько выпадающих списков на странице, и с каждым изменением яхочу обновить объект в моей модели представления, который будет отправлен обратно на сервер с сервисом отдыха.

1 Ответ

0 голосов
/ 18 мая 2018

Picker.SelectedIndexChanged не так уж и просто, так как вам все равно нужно будет проиндексировать список и найти, какой элемент, и поскольку это не команда, вам необходимо реализовать его в Code Behind.

Вы только что сказали, что вам нужно отправлять остальные http-запросы, так что это означает, что ваше приложение довольно сложное, поэтому вам, вероятно, понадобится ViewModels, и для сохранения целостности кода вы должны применять один и тот же шаблон ко всемстраницы.

Для поддержания чистоты и порядка я всегда использую MVVM, даже если логика Page не очень обширна.

MVVM также облегчает (много) модульное тестирование вашего приложения.

Но, в конце концов, все дело во вкусе.

...