Silverlight 4.0 使用UnityContainer通过代码隐藏将依赖项注入视图
我有一个Silverlight应用程序,其中只有少数控件使用MVVM。我没有太多时间将所有控件移动到mvvm,但我需要向这些控件中注入一些服务 因为有些控件是通过在XAML中声明来创建的,比如:Silverlight 4.0 使用UnityContainer通过代码隐藏将依赖项注入视图,silverlight-4.0,dependency-injection,unity-container,Silverlight 4.0,Dependency Injection,Unity Container,我有一个Silverlight应用程序,其中只有少数控件使用MVVM。我没有太多时间将所有控件移动到mvvm,但我需要向这些控件中注入一些服务 因为有些控件是通过在XAML中声明来创建的,比如: <UserControl> <Grid> <MyControlWithoutMVVM/> </Grid> </UserControl> 我看不到使用构造函数注入来注入依赖项的选项 但也许我错了,这就是为什么我要发布这个问题 有什么解决办法
<UserControl>
<Grid>
<MyControlWithoutMVVM/>
</Grid>
</UserControl>
我看不到使用构造函数注入来注入依赖项的选项
但也许我错了,这就是为什么我要发布这个问题
有什么解决办法吗
我的CompositionRoot位于App类的ApplicationStartup Methodon中。如果在XAML代码中放入元素,则无法使用构造函数注入,因为您无法控制这些对象的实例化 您可以从XAML中删除元素创建并查看
- 允许您基于viewmodels工作并为您创建视图(viewmodel优先),或者允许您使用UI并解析viewmodels(view优先)
- 允许您组合UI并在区域中放置元素,同时允许您使用DI创建对象