Я просто попадаю в свой первый проект с (невероятно отличным) MVVMCross, и я не могу понять, как сделать что-то, что кажется довольно простым: составные виды.Как я могу реализовать составные представления композитных ViewModels?
Предположим, у меня есть Person
(FirstName, LastName и т. Д.), А у человека есть Address
(улица, город, почтовый код и т. Д.). Поэтому у меня также будет PersonViewModel
и AddressViewModel
.
Это строго на основе таблетки приложения (только IPAD, на самом деле), и я хочу использовать сдерживание иметь PersonView
содержать (многоразовый) AddressView
, таким образом, что наружный (человек) вид связывается с Person
, в то время как внутренний (адрес) вид привязывается к Person.Address
.
Я (смутно) понимаю концепцию презентатора для отображения представлений, как обсуждалось here, но я не вижу, как обрабатывать распространение изменений с лица на адрес и обратно.
Предположим, что объект Person имеет адресный объект, но PersonViewModel
показывает AddressViewModel
в AddressView, передавая некоторый идентификатор адреса и регидратируя. Затем AddressView привязывается к различным объектам адреса, чем тот, который содержит Person. Я не вижу, как синхронизировать эти два, что, конечно же, победит всю цель привязки.
Как я должен делать то, что я пытаюсь сделать?
не 100% положительного (отсюда мне делает этот комментарий, а не ответ), но если вы называете переменное то же самое в каждом из них (Person vs. PersonViewModel и т. д.) привязка должна происходить «автоматически», когда вы передаете PersonViewModel или AddressViewModel через свое представление и пытаетесь вернуть его в свой контроллер или что-то в этом роде как Лицо или адрес. –