У меня есть ViewModel, которая содержит Team со свойством Players, представляющим собой список объектов Player. В TeamView команда глубоко загружена, поэтому данные игрока уже находятся в памяти.
Как лучше всего передать выбранный экземпляр класса Player в PlayerView?
Проблема в том, что в текущей версии конструкторы MVVMCross ViewModel могут содержать только строковые свойства.
У меня есть следующие идеи:
Передайте идентификатор выбранного игрока и назначьте свойство Team.Players в качестве ViewModel для PlayerView. Это может быть разумным решением, если выбранный игрок является просто сфокусированным игроком в PlayerView, а PlayerView на самом деле представляет собой представление «игроков», где пользователь также может переключаться между другими игроками команды.
Иметь службу ASP.Net MVC, такую как ViewBag, которая может передавать данные только между действиями навигации, в словаре, таком как хранилище, и параметр, передаваемый в PlayerView, представляет собой «viewbag:PlayerId123», который является специальным ключом, указывающим на экземпляр класса. .
Сериализировать выбранный объект в строку и передать его конструктору как сериализованный объект. Это возможно, но мне не нравится это решение.