实施 MVVM Light 工具包 WPF Unity
我正在为我的 WPF 应用程序使用 MVVMLight 工具包。 现在我正在浏览 Lauren 的 MIX 10 的演示样本。 示例代码采用 SL 格式,并使用 UnityContainer。 MVVMLight 工具包为 WPF 提供的模板没有利用 unitycontainer 概念。如何在 WPF 中使用 UnityContainer。
我现在不知道我的问题是否有意义。我没有看到任何有关如何使用 ViewModelLocator 的文档。也许有人可以提供 Lauren 在 MIX 中使用的 Demo 的示例或 WPF 版本
I am using the MVVMLight toolkit for my WPF application.
Now I was going through the demo sample from Lauren's MIX 10.
The sample code is in SL, and makes use of the UnityContainer.
The template provided by MVVMLight toolkit for WPF does not utilizes the unitycontainer concept. How can I make use of the UnityContainer in WPF.
I don't now if my question even makes sense. I do not see any documentation on how to use the ViewModelLocator. Maybe some one can provide a sample or a WPF version of the Demo used by Lauren in MIX
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 WPF (MVVM Light) 上使用 Unity 的方式是这样的:
我在应用程序根目录上创建一个引导程序类,类似于:
这是我的引导程序。我也注册了 ViewModel,因为在定位器中创建它们很容易。
接下来,我在 ViewModelLocator 的构造函数上创建 bootstrapper,并在此处解析每个 ViewModel,例如:
如您所见,我的 ViewModelLocator 很简单,它只是创建 bootstrapper 并解析 ViewModel,并且这些 VM 也将通过容器解析它们的依赖关系: )
也许有一个最好的方法来实现这一点,但这确实是一个好的开始。
The way I use Unity on WPF (MVVM Light) is like this:
I create a bootstrapper class on the application root, something like:
This is my bootstrapper. I register the ViewModels too because is easy create them in the Locator.
Next, I create the boostrapper on the ViewModelLocator's constructor and I resolve every ViewModel here, like:
As you see, my ViewModelLocator is simple, it just create the bootstrapper and resolve the ViewModel, and these VM will resolve their dependencies through the container too :)
Maybe there is a best way to archieve this, but this is a good start indeed.
我建议使用托管可扩展性框架。它在 .NET 4 中,我将自己从 unity 切换到 MEF。当您的应用程序不断增长时,我的工作非常出色。您可以通过使用谷歌搜索找到很多相关信息。
祝你好运!
I would advise to use Managed Extensibility Framework. It's in .NET 4 and I switched myself from unity to MEF. I works very great when your app is growing. You can find lots of info on it by search using google.
Good luck!