XAML(WPF)中的依赖注入

4
我正在创建一个新的WPF项目,我们使用Microsoft Unity作为DI。
我有一个用户控件,它调用第三方服务。
现在如何从主窗口XAML为用户控件注入依赖项。
1个回答

0

你可以使用服务定位器模式。我在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}}"

编辑:

我找到了另一种方法(还有其他方法): 看看这篇文章。在命令中,您可以根据自己的喜好解析视图模型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接