XAML和依赖注入

时间:2013-12-19 15:36:40

标签: xaml dependency-injection

我有一个使用MEF创建的对话框,它在View模型中有一个名为'Container'的公开成员,它是对CompositionContainer的引用。在该对话框中是一个下拉组合框,其中包含一系列客户。我想从共享数据模型创建的列表中选择一个客户。我的对话框如下所示:

<Window x:Class="MyNamespace.MyDialog"
        xmlns:common="http://schemas.teraque.com/common"
        ShowInTaskbar="False"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Grid Margin="4">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <common:ProductComboBox Grid.Row="1" Grid.Column="1"/>
        <TextBlock Text="Product" Grid.Row="0" Grid.Column="0"/>
        <common:CustomerComboBox Grid.Row="1" Grid.Column="1"/>
        <TextBlock Text="Customer" Grid.Row="1" Grid.Column="0"/>
    </Grid>
</Window>

那么我们如何将DI组合容器传递给产品或客户组合框,以便他们可以在共享服务中查询产品和客户数据?我玩弄了从父视图模型引用容器的想法:

<common:CustomerComboBox Container="{Binding Container}" 
                         Grid.Row="1" Grid.Column="1"/>

有更好的方法吗?

0 个答案:

没有答案