我将数据绑定到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>
答案 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
?
请注意,代码中的PivotItem
到GridViewItems
是1对多关系。您的上述代码显然是错误的。请参考我在前一个帖子中提到的嵌套绑定。
如果您无法想出正确的结构以满足您的要求,您可以考虑更改控制。