Pasar datos entre los modelos de vista MvvmCross

Estoy trabajando en la aplicación Android de Xamarin y estoy utilizando MvvmCross.No soy capaz de pasar y recuperar datos entre Viewmodels. Cuál es la solución ?

Eso depende de qué datos desea recuperar. Para los objetos, mira esta respuesta de Stuart.

Y cuando quiera enviar / recuperar datos que no sean objetos, puede hacerlo con la construcción en viewmodel-navigation como el siguiente ejemplo:

// Navigate to viewmodel with parameters var param = new Dictionary<string, string> { {"key1", "value for key 1" {"key2", 12} }; ShowViewModel<MyViewModel>(param); 

Y luego recuperar los parámetros en su MyViewModel :

 protected override void InitFromBundle(IMvxBundle parameters) { if (parameters.Data.ContainsKey("key1")) { var mykey1value = parameters.Data["key1"] } // And so on base.InitFromBundle(parameters); } 

Con MvvmCross 5 puede utilizar IMvxNavigationService

Por ejemplo, usted tiene FooViewModel y BarViewModel

 public class FooViewModel : MvxViewModel {} public class BarViewModel : MvxViewModel<DataParameter> {} 

y desea pasar algunos datos de FooVM a BarVM. Como puede ver, BarViewModel hereda de MvxViewModel con DataParameter como un tipo genérico. Esta clase describe los datos que queremos lanzar a BarViewModel.

 public class DataParameter { public string Name { get; set; } } 

Ahora puede utilizar IMvxNavigationService en FooViewModel así:

 await Mvx.Resolve<IMvxNavigationService>.Navigate<BarViewModel, DataParameter>(new DataParameter{ Name = "Alex" }) 

y capturar los datos en el siguiente método:

 public override Task Initialize(DataParameter parameter) { } 
  • Mono.Data.Sqlite.SqliteConnection.SetConfig lanza una biblioteca utilizada incorrectamente excepción
  • MapWithOverlaysActivity - No se pudo determinar $ (TargetFrameworkVersion)
  • Pellizcar zoom en una imagen en Xamarin
  • ¿El oyente Scrollview no está trabajando en Xamarin para Android?
  • Cómo ocultar las pestañas de Android utilizando Xamarin Formulario renderizador personalizado?
  • Xamarin.forms mezclando ContentPage y la actividad de Android
  • Reproducir varias canciones con MediaPlayer al mismo tiempo: solo una está jugando
  • Pasar datos de una actividad a otra en Xamarin.Android
  • ClassNotFoundException al inflar una biblioteca de enlace usando Xamarin
  • Cómo activar una actividad mediante una notificación local creada a partir de una notificación remota
  • ¿Cómo puedo agregar un tableRow a TableLayout mediante programación en Xamarin
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.