Сценарий: У меня есть вид, вид модели и модель для PickList
и PickLine
. PickListViewModel
содержит ObservableCollection<PickLineViewModel>
, а модель PickList
содержит List<PickLine>
. Моя PickList
страница содержит ListView
, которая привязана к ObservableCollection<PickLineViewModel>
, и если линия нажата, NavigateAsync
вызывается для перехода к повернутой линии PickLine.
Обычно, когда я звоню NavigateAsync
Prism переходит на страницу, находит модель представления, создает ее экземпляр и привязывает этот экземпляр к представлению. Но в этом случае экземпляр модели представления, который должен быть привязан к странице, уже существует (как элемент моего ObservableCollection
), и я не хочу, чтобы Prism ViewModelLocator создавал новый экземпляр, из-за того, что он затем пришлось бы получать данные из веб-службы, и я стараюсь максимально сократить число вызовов веб-служб.
Также я не могу использовать модели в ObservableCollection
, поскольку модель представления содержит свойства, которые используется только для целей пользовательского интерфейса, поэтому эти свойства определенно не должны быть частью модели, но свойства пользовательского интерфейса, о которых я говорю, необходимы на странице PickList
и на странице PickLine
.
Tl; dr: есть ли способ в Prism.Forms предоставить экземпляр модели представления при переходе на страницу, которая будет к ней привязана?