其他分享
首页 > 其他分享> > android-无法绑定自定义MvvmCross视图

android-无法绑定自定义MvvmCross视图

作者:互联网

我创建了两个自定义Android View,它们希望绑定到数据模型中的属性.当我运行应用程序时,属性绝对未绑定,并且在日志中看到诸如MvxBind:Error:106.21找不到视图类型的错误-md5b46e1450448c30667827ca3b24581c6a.NavigationListView.

我最初也遇到了与android.support.v4.widget.DrawerLayout相同的问题,我可以通过将程序集添加到Setup.cs中的AndroidViewAssemblies来解决此问题.我尝试对自定义视图执行相同操作,但无济于事.我的AndroidViewAssemblies看起来像这样:

protected override IList<Assembly> AndroidViewAssemblies
{
    get
    {
        var assemblies = base.AndroidViewAssemblies;
        assemblies.Add(typeof(DrawerLayout).Assembly);
        assemblies.Add(typeof(NavigationListView).Assembly);
        return assemblies;
    }
}

我确实注意到,对于DrawerLayout,MvxBind在日志中包括完整的名称空间,但是对于我的自定义视图,它使用的是md5哈希而不是名称空间,我认为这与我看到的问题有关.

这肯定在几天前就可以使用了,但是在恢复到我知道正在使用的代码后,它仍然无法使用.这使我相信我有某种配置问题.

我正在使用Visual Studio2013.自从上次工作以来,我确实安装了StyleCop并将Reshaper更新到8.2版,但是我对那些破坏自定义视图的人表示怀疑.

可能会发生什么,我该如何解决?

解决方法:

正如Stuart所建议的,这是Xamarin 5.1中Xamarin’s breaking changes的一部分.

我必须做两件事来解决此问题:

>我必须将[Register(“ com / example / namespace / CustomViewName”)]添加到我的自定义视图中以解决这些问题.
>我更新到MvvmCross 3.5.1,以修复MvvmCross控件的绑定(例如MvxListView).

标签:xamarin,mvvmcross,android,visual-studio
来源: https://codeday.me/bug/20191028/1952056.html