我想将枚举值作为 CommandParameter 传递。我的枚举定义为:
public enum MyEnum
{
One,
Two
}
在我的 axml 中,我有:
local:MvxBind="Click MyCommand, CommandParameter=MyEnum.One"
...
local:MvxBind="Click MyCommand, CommandParameter=MyEnum.Two"
MyCommand 在我的 ViewModel 中定义为
public IMvxCommand MyCommand
{
get { return new MvxCommand<MyEnum>(myfunction); }
}
private void myfunction(MyEnum p_enumParam)
{
switch (p_enumParam)
{
case MyEnum.One:
doSomething1();
break;
case MyEnum.Two:
doSomething2();
break;
}
}
当我运行它时,我收到错误“System.InvalidCastException:无法从源类型转换为目标类型。”
显然,因为它不能强制转换MyEnum.One
为MyEnum.Two
MyEnum 类型。那么我怎样才能说服它MyEnum.One
并且MyEnum.Two
是MyEnum
类型呢?
谢谢,爸爸