我正在创建一个新的WPF项目,我们使用Microsoft Unity作为DI。
我有一个用户控件,它调用第三方服务。
现在如何从主窗口XAML为用户控件注入依赖项。
我有一个用户控件,它调用第三方服务。
现在如何从主窗口XAML为用户控件注入依赖项。
你可以使用服务定位器模式。我在Unity中将其与依赖注入一起使用。
internal class ServiceLocator
{
[...]
public MainViewModel Main { get { return container.Resolve<MainViewModel>(); } }
}
你可以按照自己的方式实例化类(依赖注入或非依赖注入,类初始化依赖注入等)。
在你的App.xaml中
<Application.Resources>
<vm:ServiceLocator x:Key="Locator"/>
</Application.Resources>
现在,您可以设置您的数据上下文
DataContext="{Binding Main, Source={StaticResource Locator}}"
编辑:
我找到了另一种方法(还有其他方法): 看看这篇文章。在命令中,您可以根据自己的喜好解析视图模型。