如何将操作栏与 Xamarin 和 MvvmCross 一起使用

2024-04-16

我看到 Xamarin 最近作为组件发布http://components.xamarin.com/view/xamandroidsupportv7appcompat http://components.xamarin.com/view/xamandroidsupportv7appcompat

我想在我的应用程序中将它与 MvvmCross 一起使用,但我遇到了困难,所以我转向谷歌并找到了这个教程http://blog.ostebaronen.dk/2013/11/getting-support-v7-working-with.html http://blog.ostebaronen.dk/2013/11/getting-support-v7-working-with.html

但我不明白如何正确使用 MvvmCross 。如何将其中的按钮绑定到 ICommand 等?我可以将整个操作栏指定为 ViewModel 并绑定到它吗?如果是这样,怎么办?


无法使用 MvvmCross 将 ActionBar 绑定到 ICommands。但是您可以使用一个简单的技巧,并在按下 ActionBar 上的按钮时从活动中调用 ICommand。

public override bool OnCreateOptionsMenu(IMenu menu)
{
    this.MenuInflater.Inflate(Resource.Menu.QuoteDetails, menu);

    m_MenuItem_EditQuote = menu.FindItem(Resource.Id.menu_EditQuote);
    m_MenuItem_EditQuote.SetVisible(ViewModel.CanEdit);

    return true;
}

public override bool OnOptionsItemSelected(IMenuItem item)
{
    switch (item.ItemId)
    {

        case Resource.Id.menu_EditQuote:

            ViewModel.EditQuoteCommand.Execute(null);
            return true;

        case Resource.Id.menu_ViewQuote:

            ViewModel.DownloadQuoteCommand.Execute(null);
            return true;

        case Resource.Id.menu_EmailQuote:

            ViewModel.EmailQuoteCommand.Execute(null);
            return true;

        default:
            return base.OnOptionsItemSelected(item);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将操作栏与 Xamarin 和 MvvmCross 一起使用 的相关文章

随机推荐