Xamarin.android MvvmCross for MonoDroid-如何绑定到菜单项单击事件

Xamarin.android MvvmCross for MonoDroid-如何绑定到菜单项单击事件,xamarin.android,xamarin,mvvmcross,Xamarin.android,Xamarin,Mvvmcross,我有一个MvvmCross PCL和一个相关的MonoDroid UI项目(模式复制自Stuart Lodge优秀的N+1视频系列)。我想将操作栏菜单项的单击绑定到我的ViewModel中的ICommand。我已经看到了,但IMenuItem似乎没有合适的属性可绑定。我知道SetOnMenuItemClickListener方法,但(这无疑是我不了解的)不知道如何利用它将System.Windows.Input.ICommand绑定到它 另外,如果这是可能的,可以在MvxView的onCreat

我有一个MvvmCross PCL和一个相关的MonoDroid UI项目(模式复制自Stuart Lodge优秀的N+1视频系列)。我想将操作栏菜单项的单击绑定到我的ViewModel中的ICommand。我已经看到了,但IMenuItem似乎没有合适的属性可绑定。我知道SetOnMenuItemClickListener方法,但(这无疑是我不了解的)不知道如何利用它将System.Windows.Input.ICommand绑定到它


另外,如果这是可能的,可以在MvxView的onCreateOptions菜单方法中完成,因为它提供了操作栏菜单本身的句柄吗?

我认为您不能绑定它,因为操作栏是在XML视图之外加载的。此外,它不会为点击项目公开任何C#类型的事件,因为它们是从菜单xml文件填充的。但是,当单击菜单项时,您可以在
设置菜单项ClickListener
中执行命令。您只需执行如下命令:

ViewModel.MyAwesomeCommand.Execute();

谢谢你的解释。我不知道如何使用.Execute()方法,因为我的ViewModel构造函数使用IoC模式,例如,感谢您的解释。我不知道如何使用.Execute()方法,尽管我的ViewModel构造函数使用IoC模式,例如public NewJobViewModel(IDataService dataService、IMVxPictureChoserTask PictureChoserTask、IMvxFileStore fileStore fileStore),而且我无法使命令方法保持静态,因为我需要ViewModel的实例来调用模型中的方法。还是我遗漏了什么?!请忽略我的上述评论,因为我已经找到了Mvx.Resolve方法,它看起来就像我需要采取的方法。我在这方面也遇到了一些问题,但可能是因为我缺乏理解。实际上,我忽略了我上面的观点,我没有意识到MvvmCross提供了ViewModel属性,您刚刚将其转换为相关类型,从而为您提供了对ViewModel属性和方法的直接访问:
((NewJobViewModel)ViewModel.MyAwesomeCommand.Execute(null)