作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 MVVMLight 已经有一段时间了,并且自从 V4 首次推出以来就开始使用它。
然而,一个问题一直困扰着我,我一直无法解决。
如果我使用 MVVM 4 项目模板创建项目,则解决方案构建良好、运行良好并且在混合中运行良好。
然而
如果我开始我自己的项目并使用 Nuget 安装 MVVMLight V4,只要我添加一个基本的 DataService 并在 ViewModelLocator 模板中启用注释掉的代码并在 Blend 中打开项目,我就会收到一个错误:
“类(class)已注册”
只是想弄清楚这个非常烦人的错误。
为了清楚起见,DataService 中的内容并不重要,因为即使使用只有 1 个空函数的接口(interface)和服务也会产生相同的错误
最佳答案
出于某种原因,Blend 可能会多次初始化 ViewModelLocator。
所以你需要添加一个检查:
if (!SimpleIoc.Default.IsRegistered<ISomeService>())
SimpleIoc.Default.Register<ISomeService, SomeService>();
关于mvvm-light - <Interface> 已在使用 MVVMLightV4 的混合中注册错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11262878/
我是一名优秀的程序员,十分优秀!