ItemsControl中的不同DataContext

时间:2016-06-27 09:53:00

标签: c# wpf xaml binding

我的代码如下:

<ItemsControl ItemsSource="{Binding Path=MTMngRoot.MTManager.MTCollection}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid>
                 <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="*"/>
                 </Grid.ColumnDefinitions>

                <TextBox Text="{Binding Path=Name}" ToolTip="Name" Controls:TextBoxHelper.Watermark="Name" Grid.Column="0"/>
                <ComboBox SelectedItem="{Binding Path=DefaultCT}" Grid.Column="1">
                    <ComboBoxItem>Item 1</ComboBoxItem>
                    <ComboBoxItem>Item 2</ComboBoxItem>
                </ComboBox>
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

此代码正常运行。但现在我想绑定Itemssource中的ComboBox。我现在的问题是,应该绑定到Path的{​​{1}}的{​​{1}}完全不同。 Items看起来像这样:ComboBox。我有什么想法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

在这些情况下,您使用正确的DataContext走到控制区。

{Binding DataContext.CTMngRoot.CTManager.CTCollection,
         RelativeSource={RelativeSource AncestorType=ItemsControl}}