xamarin.android - MonoDroid 的 MvvmCross - 如何绑定(bind)到菜单项单击事件

标签 xamarin.android xamarin mvvmcross

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

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

最佳答案

我认为您不能绑定(bind)它,因为 ActionBar 是在 XML View 之外加载的东西。此外,它不会为点击项目公开任何 C# 类型的事件,因为它们是从菜单 xml 文件填充的。但是,当单击 MenuItem 时,您可以在 SetOnMenuItemClickListener 中执行命令。您可以简单地执行这样的命令:

ViewModel.MyAwesomeCommand.Execute();

关于xamarin.android - MonoDroid 的 MvvmCross - 如何绑定(bind)到菜单项单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17407576/

相关文章:

c# - MvvmCross - MvxListView绑定(bind)多次点击

Xamarin.Forms 曲棍球应用程序错误 CrashManager.Register

c# - 如何在 imagebutton 中显示来自 URL 的图像 - xamarin Android

c# - MonoTouch.Foundation.MonoTouchException 已抛出 Objective-C 抛出的异常。名称 : NSInternalInconsistencyException

xamarin - 对 Xamarin.iOS Storyboard的 MVVMCross 支持

android - MvvmCross 使用瑞士语法绑定(bind)到 android 控件上的多个属性

c# - 获取可绘制资源

c# - Xamarin.Android : Add the dynamic menu items to Navigation view of DrawerLayout

双向滑动的 Android (Xamarin.Android) 日历

android - Xamarin.Forms WebChromeClient