首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写的MvxAndroidSetup.CreateIocProvider中断与MvxBind的绑定:错误:未找到视图类型- LinearLayout (TextView,EditText...)

重写的MvxAndroidSetup.CreateIocProvider中断与MvxBind的绑定:错误:未找到视图类型- LinearLayout (TextView,EditText...)
EN

Stack Overflow用户
提问于 2015-11-02 22:30:31
回答 1查看 191关注 0票数 1

我有几个PCL使用IoC的Ninject。现在我正在尝试和MvvmCross一起创建一个Android Xamarin项目。guide说我可以遵循两个步骤,继续使用Ninject而不是MvvmCross实现。

这是我的Setup.cs:

代码语言:javascript
复制
public class Setup : MvxAndroidSetup
{
    ...

    protected override IMvxIoCProvider CreateIocProvider()
    {
        return new NinjectMvxIocProvider(... some NinjectModule[]...);
    }
}

我采用了NinjectMvxIocProvider here的实现。

对我来说,它看起来还不错,但对我布局中的所有视图都会产生这样的输出:

代码语言:javascript
复制
MvxBind:Error: 70.85 View type not found - EditText [0:]  
MvxBind:Error: 70.85 View type not found - EditText  
11-02 15:56:05.872 I/mono-stdout( 4824): MvxBind:Error: 70.85 View type not found - EditText

尽管使用适当的服务实现正确地创建了ViewModels,但是绑定并不起作用。

如果我从Setup.cs中删除override IMvxIoCProvider CreateIocProvider(),绑定就会正常工作。

这个实现中有没有什么我看不到的错误?也许有人有另一个实现,并准备分享?

EN

回答 1

Stack Overflow用户

发布于 2015-11-03 00:17:20

做这样的设置怎么样?

代码语言:javascript
复制
public static class App
{
    public static StandardKernel Container { get; set; }

    public static void Initialize()
    {
        var kernel = new Ninject.StandardKernel(new NinjectDemoModule());           

        App.Container = kernel;
    }
}

然后进行解析:

代码语言:javascript
复制
var viewModel = App.Container.Get<MainViewModel> (); 

下面是一个工作示例:IoC Containers with Xamarin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33479956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档