I'm trying using fire MvxCommand with CommandParameter, but faced with following problem: MyView.axml contains:
<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
}
});
}
}
But when I check param variable is null.
What I'm doing wrong?
Your code is working for me on the Head of my source tree.
But this functionality is only two weeks old.
My guess is that this feature either didn't make it into the release that you are working with or there was a bug with it.
Can you check your debug trace for this binding? Is there any information there?
CommandParameter
is an unknown symbol then my guess is that you will need to either build the latest source yourself - or to wait for a new release.One thing I know we did fix was a value converter issue where the Cirrious.MvvmCross.Binding.dll
based ValueConverter
's weren't being just by overriding Setup.ValueConverterAssemblies
to register the ValueConverter
required for this CommandParameter