2016-09-22 21 views
0

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

PivotHeaderPivotItemに対応します。そしてあなたのコードの中でPivotItemもまたGridViewに対応します。上記のコードを実行して要件を満たすことができる場合、GridViewにはすべてPivotItemの項目が1つしかなく、値はPivotHeaderと同じです。その場合、なぜGridViewが必要でしたか?

たとえば、itemsource Store_Product_xには2つのレコードがあり、Pivotにバインドします。したがって、Pivotには、ヘッダーが表示された2つの項目があります。最初の項目は、バインドレコード1がStore_Product_xで、2番目の項目がバインドレコード2(Store_Product_x)です。同時に、すべての商品の下にはGridViewがあります。最初のGridViewはレコード1の最初のアイテムと同じソースを持ち、レコード1を含むStore_Product_xのバインド方法は?

コード内のPivotItemGridViewItemsが1対多の関係であることを確認してください。上記のコードは明らかに間違っています。前のスレッドで言及したネストされたバインドを参照してください。

要件に合った適切な構造が考えられない場合は、コントロールを変更することを検討できます。

関連する問題