3
我正在创建一个新的WPF项目,我们使用Microsoft Unity作为DI。XAML中的依赖注入(WPF)
我正在调用第三方服务的用户控件。
因此,现在如何从主窗口XAML为usercontrol注入依赖关系。
我正在创建一个新的WPF项目,我们使用Microsoft Unity作为DI。XAML中的依赖注入(WPF)
我正在调用第三方服务的用户控件。
因此,现在如何从主窗口XAML为usercontrol注入依赖关系。
您可以使用服务定位器模式。我将它与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
DataContext="{Binding Main, Source={StaticResource Locator}}"
编辑:
我发现这样做(其它之中)的另一种方式: 看看this article。在命令中,您可以根据需要解析视图模型。