2010-05-04 75 views
3

我正在创建一个新的WPF项目,我们使用Microsoft Unity作为DI。XAML中的依赖注入(WPF)

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

因此,现在如何从主窗口XAML为usercontrol注入依赖关系。

回答

0

您可以使用服务定位器模式。我将它与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。在命令中,您可以根据需要解析视图模型。