繁体   English   中英

WPF DI工厂

[英]DI Factory for WPF

我正在寻找一种无需调用Ninject的Get方法即可注入依赖项的方法。

例如,在ASP.NET MVC中,我创建一个从DefaultControllerFactory MSDN继承的类,并通过ControllerBuilder.Current.SetControllerFactory MSDN将其添加到控制器构建器的工厂中。 一旦这样做,我就永远不会调用Get ,它会自动填充。

WPF是否具有等效功能?

我需要一个适合大多数情况的通用答案,但是如果我必须举一个例子,我在WPF中创建了一个控件,但是它在构造函数中有一个参数:

public AppVolumeSlider(IVolumeSetter volumeSetter) 

由于我的控件处于标记状态,因此WPF会抱怨: The type "AppVolumeSlider" does not include any accessible constructors.

如何使Ninject / WPF适当填充?

注意1:如果在这个示例中我做不到(我想是因为标记),请给我一个一般性的答案。 例如,如果我只是使用类似的构造函数而不是控件来制作类。 我仍然需要知道这些信息。

注意2:我有预感,这可能与Inject属性有关,但我不知道。

谢谢。

看看各种MVVM框架,例如Caliburn Micro: http : //caliburnmicro.codeplex.com/其中大多数都带有IoC容器支持。

某些容器(例如Unity)具有提供对现有实例的依赖关系的功能。 当然,这不适用于建设性注射。 但是,它将为适当的/方法注入找到工作。

您可以创建WPF页面(或任何控件),它将加载标记,然后调用Unity.BuildUp(your_object)。

或等效功能不同的容器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM