gpt4 book ai didi

xaml - XAML (WPF) 中的依赖注入(inject)

转载 作者:行者123 更新时间:2023-12-02 11:08:37 25 4
gpt4 key购买 nike

我正在创建一个新的 WPF 项目,我们使用 Microsoft Unity 作为 DI。

我有一个正在调用第三方服务的用户控件。

现在如何从主窗口 XAML 为用户控件注入(inject)依赖项。

最佳答案

您可以使用服务定位器模式。我将它与 Unity 一起用作 DI。

internal class ServiceLocator
{
[...]
public MainViewModel Main { get { return container.Resolve<MainViewModel>(); } }
}

您可以按照您想要的方式实例化您的类(无论是否使用 DI,该类都会初始化 DI 等...)。

在您的 App.xaml 中

<Application.Resources>
<vm:ServiceLocator x:Key="Locator"/>
</Application.Resources>

现在,您可以设置数据上下文

DataContext="{Binding Main, Source={StaticResource Locator}}"

编辑:

我找到了另一种方法(除其他外):看看this article 。在命令中,您可以根据需要解析 View 模型。

关于xaml - XAML (WPF) 中的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2764771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com