之前,我在我的 WPF 应用程序中将 Autofac 与 MVVMLight 和 CommonServiceLocator 一起使用。现在我有一个我不能使用的场景。所以我转而使用 Microsoft MVVM Toolkit。但我看不出如何/在哪里使用 Autofac。基本上我想要的是 MVVMLight 的“ViewModelLocator”模式的替代方案。有一个静态类,我在其中构建我的 Autofac 容器,然后指示 MVVM 使用该静态类来解析...
例如,目前我可以在 app.xaml.cs 中执行此操作:
<viewmodel:ViewModelLocator x:Key="Locator" />
然后在视图中我可以这样做:
<UserControl.DataContext>
<Binding Path="SomePath" Source="{StaticResource Locator}" />
</UserControl.DataContext>`
正如文档所说,这可能是显而易见的,但我看不出如何去做——关于一些示例 WFP 项目的任何指示都会很棒 :)
Autofac 是一个控制反转 (IoC) 容器,MVVM 工具包不提供任何内置 API 来促进 Ioc 模式的使用。
有一个如何使用您选择的 IoC 的示例,例如Autofac 或
Microsoft.Extensions.DependencyInjection
,用于在 docs. 中注册和解析任何类的实例,包括视图模型