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

时间:2016-09-22 08:28:15

标签: c# xaml data-binding uwp uwp-xaml

我将数据绑定到UWP中的pivot元素。数据显示在标题模板中,但当我尝试在项目模板内显示时,相同的标题数据未显示。为什么会这样?此外,相同的数据显示在网格视图外的项目模板中。

  <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>

1 个答案:

答案 0 :(得分:0)

对于Pivot,一个PivotHeader对应一个PivotItem。在您的代码中,一个PivotItem也对应一个GridView。如果上述代码可以运行并符合您的要求,GridView每个PivotItem下只有一个项目,PivotHeader的值相同,那么为什么我们需要GridView 1}}?

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

请注意,代码中的PivotItemGridViewItems是1对多关系。您的上述代码显然是错误的。请参考我在前一个帖子中提到的嵌套绑定。

如果您无法想出正确的结构以满足您的要求,您可以考虑更改控制。