在DataTemplate中的ItemsControl上更改ItemSsource

时间:2014-01-28 17:29:33

标签: c# xaml data-binding windows-phone-8

在Windows Phone 8上,我有一个包含以下XAML的页面

<ScrollViewer Grid.Row="1">
        <ItemsControl Name="Items1" >
            <ItemsControl.ItemTemplate>
                <DataTemplate x:Name="DataTemp">
                    <Grid Margin="0,10,0,0" Height="380">
                        <Grid.RowDefinitions>
                            <RowDefinition />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="2*"/>
                            <ColumnDefinition Width="3*"/>
                        </Grid.ColumnDefinitions>
                        <Image Source="{Binding img.path}" VerticalAlignment="Top" Margin="10,0" />
                        <ScrollViewer Name="Vinhos" Grid.Column="1" Background="#7FE00E0E" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
                            <ItemsControl x:Name="Items2">
                                <Image Source="img.png" Height="400" />
                            </ItemsControl>
                        </ScrollViewer>
                    </Grid>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </ScrollViewer>

我将第一个ItemsControl的ItemsSource设置为此类型的对象列表

        public class Familia
        {
         public string nome { get; set; }
         public Imagem img { get; set; }
         public List<Produto> listaProdutos { get; set; }
        }

像这样,Items1.ItemsSource = fams.listaFamilias;

我想要做的是从名为“Items1”的第一个ItemsControl中使用的对象中获取名为“Items2”的第二个ItemsControl的ItemsSource

1 个答案:

答案 0 :(得分:1)

尝试Items2的声明:

<ItemsControl x:Name="Items2" ItemsSource="{Binding ItemsSource, ElementName=Items1}">