如何在不同项目中使用MvvmLight SimpleIoc

西蒙·阿克斯

当前,我正在构建一个C#库,该库将在不同的WPF应用程序中使用。应该很好地测试这样的库,因此我特别使用MVVM和Mvvm Light。MvvM Light具有一个简单的IOC,该IOC在类ViewModelLocator的静态cstor中初始化(至少在开箱即用时使用)。当我运行我的库时,将调用此静态cstor。但是,当从另一个名为MyProject的WPF项目中引用库时,不会执行初始化。唯一的解决方法是在MyProject中具有ViewModelLocator,但这对MyProject造成了不可接受的限制。有什么办法可以触发非启动项目中ViewModelLocator的静态cstor?

这个问题不是新问题,我在SO上找到了类似的表述,例如另一个MVVMLight项目中的MVVMLight以及与mvvmlight中的主项目viewmodellocatoe不同的项目中注册了viewmodel但是,在两种情况下都没有提出答案,现在我想知道是否有新见识的人可以帮忙。

n

西蒙在RCL

这有点猜测,但是这里...

ViewModelLocator和View之间的链接通常位于XAML文件中,通常通过静态资源。这是我的一个项目中资源e的定义:

 <Application.Resources>
    <vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" xmlns:vm="clr-namespace:Rcl.Reports.DataModelManager.ViewModel" />
  </Application.Resources>

不需要ViewModelLocator的完整名称空间路径。当MVVM自行安装时,它会生成该文件,并假定ViewModelLocator将在您安装了它的主WPF项目中(并且需要在其中安装它,因为该项目将直接使用MVVMLight)。

如果您使用的是错误的名称空间,而不是您的库之一,则WPF找不到它,并且将无提示地执行任何操作。

检查名称空间是否正确定义,然后看看会发生什么。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不同项目中使用MvvmLight SimpleIoc

来自分类Dev

SimpleIOC 与 MVVMlight 注册和使用

来自分类Dev

How to use MvvmLight SimpleIoc in different project

来自分类Dev

MvvmLight SimpleIoc和多个具体实现

来自分类Dev

在MVVM light SimpleIOC中使用参数调用构造函数

来自分类Dev

在MVVM light SimpleIOC中使用参数调用构造函数

来自分类Dev

如何在SimpleIOC中注册包含参数的类实例

来自分类Dev

如何在MVVM Light Toolkit的“ SimpleIOC”中使用“ Quartz.NET”?

来自分类Dev

创建一个接口并使用SimpleIoc注入

来自分类Dev

SimpleIoc(MVVMlight)依赖项注入接口列表C#Windows应用商店

来自分类Dev

如何在MVVM Light的SimpleIoc中注册实现多个接口的类?

来自分类Dev

如何在MVVM Light SimpleIoc中注册一系列依赖项

来自分类Dev

如何在MVVM Light SimpleIoc中注册一系列依赖项

来自分类Dev

MVVM Light SimpleIoC与Ninject

来自分类Dev

MVVM Light SimpleIoC与Ninject

来自分类Dev

如何在不同项目中控制#define指令...?

来自分类Dev

Register service implementation in SimpleIOC in PCL

来自分类Dev

如何在不同的java项目中使用java项目?

来自分类Dev

如何在不同类型的项目中使用ViewModel

来自分类Dev

将多个IoC容器与SimpleIoC一起使用以实现关注点分离:可能并且有意义吗?

来自分类Dev

在Razor的不同项目中使用链接文件时存在类歧义类参考?

来自分类Dev

在PCL的SimpleIOC中注册服务实现

来自分类Dev

在PCL的SimpleIOC中注册服务实现

来自分类Dev

MVVM Light SimpleIoc Unregister 实例失败

来自分类Dev

如何使用Storage Transfer Service跨不同项目中的存储桶复制数据?

来自分类Dev

如何调用驻留在不同项目中的方法?

来自分类Dev

如何在项目中使用Printf

来自分类Dev

如何在跨不同语言的单个项目中使用编码风格?

来自分类Dev

如何在 c++ Autotools 项目中使用不同版本的 g++ 进行编译

Related 相关文章

  1. 1

    如何在不同项目中使用MvvmLight SimpleIoc

  2. 2

    SimpleIOC 与 MVVMlight 注册和使用

  3. 3

    How to use MvvmLight SimpleIoc in different project

  4. 4

    MvvmLight SimpleIoc和多个具体实现

  5. 5

    在MVVM light SimpleIOC中使用参数调用构造函数

  6. 6

    在MVVM light SimpleIOC中使用参数调用构造函数

  7. 7

    如何在SimpleIOC中注册包含参数的类实例

  8. 8

    如何在MVVM Light Toolkit的“ SimpleIOC”中使用“ Quartz.NET”?

  9. 9

    创建一个接口并使用SimpleIoc注入

  10. 10

    SimpleIoc(MVVMlight)依赖项注入接口列表C#Windows应用商店

  11. 11

    如何在MVVM Light的SimpleIoc中注册实现多个接口的类?

  12. 12

    如何在MVVM Light SimpleIoc中注册一系列依赖项

  13. 13

    如何在MVVM Light SimpleIoc中注册一系列依赖项

  14. 14

    MVVM Light SimpleIoC与Ninject

  15. 15

    MVVM Light SimpleIoC与Ninject

  16. 16

    如何在不同项目中控制#define指令...?

  17. 17

    Register service implementation in SimpleIOC in PCL

  18. 18

    如何在不同的java项目中使用java项目?

  19. 19

    如何在不同类型的项目中使用ViewModel

  20. 20

    将多个IoC容器与SimpleIoC一起使用以实现关注点分离:可能并且有意义吗?

  21. 21

    在Razor的不同项目中使用链接文件时存在类歧义类参考?

  22. 22

    在PCL的SimpleIOC中注册服务实现

  23. 23

    在PCL的SimpleIOC中注册服务实现

  24. 24

    MVVM Light SimpleIoc Unregister 实例失败

  25. 25

    如何使用Storage Transfer Service跨不同项目中的存储桶复制数据?

  26. 26

    如何调用驻留在不同项目中的方法?

  27. 27

    如何在项目中使用Printf

  28. 28

    如何在跨不同语言的单个项目中使用编码风格?

  29. 29

    如何在 c++ Autotools 项目中使用不同版本的 g++ 进行编译

热门标签

归档