2013-06-21 1 views
6

Пытаюсь с помощью огня MvxCommand with CommandParameter, но столкнулся с следующей проблемой: MyView.axml содержит:Использование MvxCommand С CommandParameter связывания

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

Но когда я проверяю параметр переменная null.

Что я делаю неправильно?

ответ

8

Ваш код работает на меня на голове моего исходного дерева.

Но эта функциональность всего две недели.

Я полагаю, что эта функция либо не попала в релиз, с которым вы работаете, либо была ошибка с ним.

Можете ли вы проверить трассировку отладки для этой привязки? Есть ли там информация?

  • Если трассировка показывает, что CommandParameter неизвестный символ, то я думаю, что вам нужно будет либо построить последнюю версию исходного кода самостоятельно - или ждать нового релиза.
  • Если трассировка предлагает что-то еще, тогда вы сможете исправить проблему во время установки.

Одна вещь, которую я знаю, мы не затруднительное был вопрос конвертер значение где Cirrious.MvvmCross.Binding.dll основе ValueConverter «s не является просто переопределение Setup.ValueConverterAssemblies зарегистрировать ValueConverter необходимую для этого CommandParameter

+0

Вы правы, Стюарт ! LOG наблюдает необходимо: ** MvxBind: Внимание: 132,54 Не удалось найти названный конвертер CommandParameter I/MvxBind (18314): 132,53 Не удалось найти названный конвертер CommandParameter I/моно-стандартный вывод (18314): MvxBind : Предупреждение: 132,53 Не удалось найти именованный конвертер CommandParameter ** Когда ожидать недавний выпуск? –

+0

@Stuart Я пытаюсь использовать тот же 'local: MvxBind =" Нажмите OnRemoveClick, CommandParameter =. "' Я получаю то же самое ". при выполнении commmand. любая идея, пожалуйста? – RIYAZ

+0

извините - не похоже, что вы получаете «то же самое», что и этот вопрос 2013 года. может быть лучше всего объяснить вашу проблему в новом вопросе? – Stuart