【问题标题】:Visual Studio does not recognize BindingInflate function of MvxFragmentVisual Studio 无法识别 MvxFragment 的 BindingInflate 函数
【发布时间】:2023-03-16 12:28:01
【问题描述】:

我有以下课程:

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

更新:

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

Sample app

【问题讨论】:

  • 您使用的是哪个版本的 MvvmCross?我刚刚加载了 Stuart 的 N+1 N=26 并更新到当前的 3.1.1,一切看起来都不错。你能建立样本吗?如果没有,您可能需要比较版本和项目设置。
  • 我也有3.1.1,不明白为什么看不到功能,感觉可能跟其中一个引用有关,我附上截图.
  • 嗯.. 除了您的项目特定参考之外,这里看起来一样。您的 Android 项目设置是什么?您是否能够使示例正常工作?
  • 我已经更新了我的 OP,其中包含一个指向具有相同问题的示例项目的链接。
  • 在添加以下内容之前我也无法构建它:使用 Cirrious.MvvmCross.Binding.Droid.BindingContext;

标签: c# android xamarin.android xamarin mvvmcross


【解决方案1】:

BindingInflate实际上是一种扩展方法。您需要导入正确的命名空间(适用于 3.5.x 版本)。

using Cirrious.MvvmCross.Binding.Droid.BindingContext;

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

using MvvmCross.Binding.Droid.BindingContext;

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

【讨论】:

  • 就是这样!!我正在使用 Cirrious.MvvmCross.Binding.BindingContext;相反,我不知道 Droid 命名空间。谢谢!
  • 除此之外。如果您更新到 MVVMCross,则引用更改为: using MvvmCross.Binding.Droid.BindingContext;
  • 是的,我需要开始在我的答案上加上版本号......“截至 X.Y.Z 版”。软件变化如此之快,以至于很难跟上。
猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
  • 1970-01-01
  • 2020-03-22
  • 2020-04-01
  • 1970-01-01
相关资源
最近更新 更多