C# 用参数绑定Click函数

C# 用参数绑定Click函数,c#,android,xamarin,mvvmcross,C#,Android,Xamarin,Mvvmcross,在Xamarin Studio中针对Android的MVVM Cross 我可以将其写入.axml文件中,以将单击功能绑定到按钮: local:MvxBind="Click SendMessage" SendMessage是MvxViewModel上带有签名的公共方法 public void SendMessage() { //do stuff } 但是我想这样做, local:MvxBind="Click SendMessage param1: foo, param2: bar"

在Xamarin Studio中针对Android的
MVVM Cross

我可以将其写入.axml文件中,以将单击功能绑定到按钮:

local:MvxBind="Click SendMessage"  
SendMessage
是MvxViewModel上带有签名的公共方法

public void SendMessage() 
{
//do stuff
}

但是我想这样做,

local:MvxBind="Click SendMessage param1: foo, param2: bar"
public void SendMessage(T foo, T bar) 
{
//do stuff
}
它应该调用下面带有如下签名的方法

local:MvxBind="Click SendMessage param1: foo, param2: bar"
public void SendMessage(T foo, T bar) 
{
//do stuff
}
其中,foo和bar可能是当前选定的项,或表中特定行中表示的对象等


我看不到任何地方指向如何做到这一点,我希望这是一个本机的功能!有人能帮忙吗

对于xamarin studio中的确切功能有点无知,我想建议一种不同的方法:


让视图上的控件在被选中时设置一个类范围的属性
SelectedItem
,单击按钮时就可以访问该属性了吗?

绑定引擎允许您使用
ICommand
实例或
public void
方法。后者仅在同时安装的情况下有效


至于支持的参数数量,可以归结为一个参数,它应该对应于绑定到ListView中的项的
ViewModel

您可以使用ICommand而不是void来执行代码,在这里您可以作为一个参数


另一个选项是将所需参数绑定到对象,并在代码中访问这些对象。

谢谢您的回答。这在某些情况下可能会起作用,如果真的没有其他方法可以做到这一点的话,这很可能就是我所走的路线。然而,对于一些看起来非常基本的功能来说,这感觉像是一个很大的开销和一堆额外的编码(这种东西在AngularJs和Knockout中是本机支持的,例如,我知道JS不是C sharp,但是框架试图提供的东西有相似之处)。