c# - Visual Studio 无法识别 MvxFragment 的 BindingInflate 函数

标签 c# android xamarin.android xamarin mvvmcross

我有以下类(class):

using Cirrious.MvvmCross.Binding.BindingContext;
using Cirrious.MvvmCross.Droid.Views;
using Cirrious.MvvmCross.Droid.Fragging;
using Cirrious.MvvmCross.Droid.Fragging.Fragments;

public class DifficultyItemFragment : MvxFragment
{
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        var ignored = base.OnCreateView(inflater, container, savedInstanceState);
        return this.BindingInflate(Resource.Layout.DifficultyItemFragment, null);
    }
}

我收到以下错误:

 Error  8   ...'QuickShift.Android.Views.DifficultyItemFragment' does not contain a definition for 'BindingInflate' and no extension method 'BindingInflate' accepting a first argument of type 'QuickShift.Android.Views.DifficultyItemFragment' could be found (are you missing a using directive or an assembly reference?)

我查看了 MvvmCross 源代码,BindingInflate 确实存在于 BindingContext 命名空间中。

我是不是错过了什么??我引用了所有必要的库,包括 Xamarin.Android.Support.v4

enter image description here

更新:

我在 VS 2013 中创建了一个示例项目来说明这个问题。您会注意到在 Fragment1.cs 中存在同样的问题:

Sample app

最佳答案

BindingInflate 其实就是一个扩展方法。您需要导入正确的命名空间(对于版本 3.5.x)。

using Cirrious.MvvmCross.Binding.Droid.BindingContext;

对于 4.x 版本,MvvmCross 重新组织了命名空间。正确的导入是:

using MvvmCross.Binding.Droid.BindingContext;

编辑:添加版本信息以回答并包含 v4.x 的更新命名空间

关于c# - Visual Studio 无法识别 MvxFragment 的 BindingInflate 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21914809/

相关文章:

c# - 无法让 TimeZone 显示长名称而不是缩写 (Xamarin Android)

c# - 是否有异常处理标准?如果是,请提供链接

c# - 日期时间解析错误 : The supplied DateTime represents an invalid time

java - 在 Android 上使用正则表达式实现部分匹配时遇到问题

c# - MVVM Light Binding SeekBar 的进展

android - Xamarin.Android 的 Ble Api 示例

c# - 从 EF 6.0 Beta 升级到 RC 后出现 System.MissingMethodException

c# - 对于 C# Web 开发,是否有 ASP.NET 的替代方案?

安卓 : How to store address into native Contact app from our app

android bundleRelease 不签署 aab