Wie können Objekte am besten an das Ansichtsmodell "Navigiert zu" in MVVMCross übergeben werden?

Ich habe ein ViewModel, das ein Team enthält, dessen Players-Eigenschaft eine Liste von Player-Objekten enthält. In TeamView ist das Team tief geladen, sodass die Spielerdaten bereits im Speicher sind.

Wie kann eine ausgewählte Player-Klasseninstanz am besten an eine PlayerView übergeben werden?

Das Problem ist, dass MVVMCross ViewModel-Konstruktoren in der aktuellen Version nur Zeichenfolgeneigenschaften enthalten können.

Ich habe folgende Ideen:

Übergeben Sie die ID des ausgewählten Players und weisen Sie der PlayerView die Team.Players-Eigenschaft als ViewModel zu. Dies kann eine vernünftige Lösung sein, wenn der ausgewählte Spieler nur der fokussierte Spieler in der PlayerView ist und die PlayerView wirklich eine "Spieler" -Ansicht ist, in der der Benutzer auch zwischen den anderen Teamspielern wischen kann.

Haben Sie einen ASP.Net MVC-ähnlichen ViewBag-Dienst, der Daten nur zwischen Navigationsaktionen in einem Dictionary-ähnlichen Speicher übertragen kann, und der an PlayerView übergebene Parameter ist ein "viewbag: PlayerId123", ein spezieller Schlüssel, der auf die Klasseninstanz verweist.

Serialisieren Sie das ausgewählte Objekt für die Zeichenfolge und übergeben Sie es als serialisiertes Objekt an den Konstruktor. Es ist möglich, aber ich mag diese Lösung nicht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage