with viewdestroy parameter mvvm binding command xamarin.android mvvmcross

mvvm - viewdestroy - Usar MvxCommand con el enlace CommandParameter



xamarin command with parameters (1)

Tu código funciona para mí en el encabezado de mi árbol fuente.

Pero esta funcionalidad solo tiene dos semanas de antigüedad.

Supongo que esta característica no entró en la versión con la que estás trabajando o hubo un error con ella.

¿Puedes verificar tu seguimiento de depuración para este enlace? ¿Hay información allí?

  • Si la traza sugiere que CommandParameter es un símbolo desconocido, supongo que necesitará construir la fuente más reciente usted mismo o esperar una nueva versión.
  • Si el seguimiento sugiere algo más, entonces es posible que pueda corregir el problema durante la configuración.

Una cosa que sé que solucionamos fue un problema con el convertidor de valores en el que los Cirrious.MvvmCross.Binding.dll basados ​​en ValueConverter no se Setup.ValueConverterAssemblies simplemente redefiniendo Setup.ValueConverterAssemblies para registrar el ValueConverter requerido para este CommandParameter

Estoy intentando usar fire MvxCommand con CommandParameter , pero tengo que enfrentar el siguiente problema: MyView.axml contiene:

<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" local:MvxBind="Click MyCommand, CommandParameter=foo" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button2" local:MvxBind="Click MyCommand, CommandParameter=bar" /> </LinearLayout>

MyViewModel.cs:

public class MyViewModel : MvxViewModel { public ICommand MyCommand { get; private set; } public MyViewModel() { // param is null MyCommand = new MvxCommand<string>(param => { if (param == "foo") { // do something } else if (param == "bar") { // do something else } }); } }

Pero cuando miro la variable param es nulo .

¿Qué estoy haciendo mal?