2013-06-21 19 views
6

Próbuję przy użyciu ognia MvxCommand with CommandParameter, ale w obliczu następującego problemu: MyView.axml zawiera:Korzystanie MvxCommand Z CommandParameter wiążące

<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 
      } 
     }); 
    } 
} 

ale kiedy sprawdzić parametr zmienna to null.

Co robię źle?

Odpowiedz

8

Twój kod działa dla mnie na Head of my source tree.

Ale ta funkcjonalność ma tylko dwa tygodnie.

Domyślam się, że ta funkcja albo nie wchodziła w wersję, z którą pracujesz, albo był z nią błąd.

Czy możesz sprawdzić swoje śledzenie debugowania dla tego powiązania? Czy są tam jakieś informacje?

  • Jeśli ślad sugeruje, że CommandParameter jest nieznany symbol wtedy moje przypuszczenie jest to, że trzeba będzie albo zbudować najnowsze źródła siebie - albo czekać na nowej wersji.
  • Jeśli ślad sugeruje coś innego, być może uda się załatać problem podczas instalacji.

Jedno wiem, że nie był to problem poprawkę konwerter wartość gdzie Cirrious.MvvmCross.Binding.dll oparte ValueConverter „s nie jest tylko nadrzędnymi Setup.ValueConverterAssemblies zarejestrować ValueConverter wymaganej dla tego CommandParameter

+0

masz rację, Stuart ! Log ogląda potrzebne: ** MvxBind: Ostrzeżenie: 132,54 Nie znaleźliśmy nazwie konwerter CommandParameter I/MvxBind (18314): 132,53 Nie znaleźliśmy nazwie konwerter CommandParameter I/mono-stdout (18314): MvxBind : Ostrzeżenie: 132,53 Nie można znaleźć konwertera nazw CommandParameter ** Kiedy należy się spodziewać najnowszego wydania? –

+0

@Stuart Próbuję tego samego 'local: MvxBind =" Kliknij OnRemoveClick, CommandParameter =. "" Otrzymuję to samo "." podczas wykonywania commmand. jakikolwiek pomysł, proszę? – RIYAZ

+0

Przepraszam - nie brzmi tak, jakbyś otrzymywał "to samo" jak to pytanie z 2013 roku. może najlepiej wyjaśnić swój problem w całości w nowym pytaniu? – Stuart

Powiązane problemy