来自同一源的数据显示在透视标题中,但不显示在透视项模板中

本文关键字:透视 显示 标题 数据 | 更新日期: 2023-09-27 18:08:19

我将数据绑定到UWP中的枢轴元素。数据显示在标头模板,但相同的标头数据,当我试图在项目模板里面显示,它没有被显示。为什么会这样?同样,在网格视图之外的项模板中显示相同的数据。

  <Pivot x:Name="Pivot1" ItemsSource="{Binding Store_Product_x}" SelectionChanged="Pivot1_SelectionChanged">
                <Pivot.HeaderTemplate>
                    <DataTemplate >
                        <TextBlock Text="{Binding Course_Header}"/>
                    </DataTemplate>
                </Pivot.HeaderTemplate>
                <Pivot.ItemTemplate>
                    <DataTemplate>
                        <!--<TextBlock Text="{Binding Course_Header}"/>-->
                        <GridView ItemsSource="{Binding Store_Product_x}">
                            <GridView.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Course_Header}"/>
                                </DataTemplate>
                            </GridView.ItemTemplate>
                        </GridView>
                    </DataTemplate>
                </Pivot.ItemTemplate>
            </Pivot>

来自同一源的数据显示在透视标题中,但不显示在透视项模板中

对于Pivot,一个PivotHeader对应一个PivotItem。在代码中,一个PivotItem也对应一个GridView。如果上面的代码可以运行并满足您的要求,GridView将在每个PivotItem下只有一个项目,并且与PivotHeader的值相同,在这种情况下,我们为什么需要GridView ?

例如,itemsource Store_Product_x有两条记录,您绑定到Pivot。因此,Pivot将有两个显示标题的项目。第一项是Store_Product_x的绑定记录1,第二项是Store_Product_x的绑定记录2。同时,在每件物品下面都有一个GridView。第一个GridView与记录1的第一项具有相同的来源,它如何绑定包含记录1的Store_Product_x ?

请明确PivotItemGridViewItems在你的代码是1对多的关系。你上面的代码显然是错误的。请参考我在上一个线程中提到的嵌套绑定。

如果你不能想出一个正确的结构来满足你的要求,你可以考虑改变控制