ピボットヘッダーテンプレートをCourse_Tabデータにバインドし、アイテムテンプレート内のgridviewをx:Bindを使用してCourse_Productsデータにバインドする必要があります。ピボットヘッダテンプレートのバインディングを正常に完了しましたが、データビューのエラーのためにgridviewのアイテムソースを取得するのが少し難しかったです。ここ は、コードスニペットです:あなたが実際に何をしたいのかx:Bindを使用して2つの異なるソースからのピボット要素でのデータバインディング
public ObservableCollection<CourseList> Course_Tab { get; set; }
public ObservableCollection<Productdetails> Course_Products { get; set; }
[DataContract]
public class CourseList
{
[DataMember]
public int CourseID { get; set; }
[DataMember]
public string CourseCategoryCode { get; set; }
[DataMember]
public string BoardCode { get; set; }
[DataMember]
public string CourseCode { get; set; }
[DataMember]
public string CourseName { get; set; }
[DataMember]
public string CourseDisplayName { get; set; }
[DataMember]
public string CourseShortName { get; set; }
}
[DataContract]
public class Productdetails
{
[DataMember]
public int ProductId { get; set; }
[DataMember]
public string ProductCode { get; set; }
[DataMember]
public string ProductName { get; set; }
[DataMember]
public string ProductDescription { get; set; }
[DataMember]
public string AcademicYearCode { get; set; }
[DataMember]
public string SubjectName { get; set; }
[DataMember]
public string Product_Type { get; set; }
[DataMember]
public string Product_Subtype { get; set; }
[DataMember]
public string SDcardsize { get; set; }
[DataMember]
public string Duration { get; set; }
[DataMember]
public string Graphics { get; set; }
}
<Pivot x:Name="Pivot1" ItemsSource="{x:Bind Course_Tab}" SelectionChanged="Pivot1_SelectionChanged">
<Pivot.HeaderTemplate>
<DataTemplate x:DataType="data:CourseList">
<TextBlock Text="{x:Bind CourseDisplayName}"/>
</DataTemplate>
</Pivot.HeaderTemplate>
<Pivot.ItemTemplate>
<DataTemplate>
<GridView ItemsSource="{x:Bind Course_Products}">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:Productdetails">
<Image Source="{x:Bind Graphics}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</DataTemplate>
</Pivot.ItemTemplate>
</Pivot>
CourseListのデータモデルを変更せずにバインドすることはできません。私がやろうとしているのは、ヘッダーとアイテムのテンプレートを入れ子にすることなく、全く異なる2つのデータソースをバインドすることです。 –
その場合、 'CourseList'と' Productdetails'を1つの親ソースに入れることができます(両方とも親ソースの子コレクションにする)。とにかく、 'Pivot'の' ItemsSource'は1つだけです。 –
@MonishKoyott私の答えがあなたを助けたら、受け入れられたとマークしてください。 –