2016-05-03 8 views
0

Ich habe eine Bedingung, wo ich mehrere PivotItems (die dynamisch ist) hinzufügen möchten. dh; Ich habe eine List<CustomModel>, deren Größe dynamisch ist, und für jedes Element in der Liste möchte ich ein PivotItem mit Header als CustomModel.Title erstellen.Wie mehrere Pivots mit DataTemplate in Winrt UWP hinzufügen?

Kann dies mit xaml allein erreicht werden, indem ein DataTemplate erstellt und an ein Pivot gebunden wird?

+0

Bind Liste ItemSource von Pivot. Erstelle ObservableCollection statt List – Archana

+0

Woher weiß der Pivot, an welchen Parameter er binden soll? Könntest du mir ein Beispiel für das Xaml geben? – AbsoluteSith

+0

Und was ist custommodel? Sie werden nicht wissen, dass es Eigenschaften sind? – Archana

Antwort

2

Es ist sicherlich möglich. Siehe unten Probenlösung

<Pivot x:Name="TestPivot"> 
    <Pivot.HeaderTemplate> 
     <DataTemplate x:DataType="local:TestClass"> 
      <TextBlock Text="{Binding HeaderTitle, Mode=OneWay}"/> 
     </DataTemplate> 
    </Pivot.HeaderTemplate> 
    <Pivot.ItemTemplate> 
     <DataTemplate x:DataType="local:TestClass"> 
      <Grid> 
       <TextBlock Text="{Binding Content, Mode=OneWay}"/> 
      </Grid> 
     </DataTemplate> 
    </Pivot.ItemTemplate> 
</Pivot> 

-Code hinter zur Simulation der Bindung

public sealed partial class BlankPage6 : Page 
{ 
    ObservableCollection<TestClass> SampleSource = new ObservableCollection<TestClass>(); 
    public BlankPage6() 
    { 
     this.InitializeComponent(); 
     SampleSource.Add(new TestClass { HeaderTitle = "Test Header1", Content = "Test content 1" }); 
     SampleSource.Add(new TestClass { HeaderTitle = "Test Header2", Content = "Test content 2" }); 
     SampleSource.Add(new TestClass { HeaderTitle = "Test Header3", Content = "Test content 3" }); 

     TestPivot.ItemsSource = SampleSource; 
    } 
} 

public class TestClass 
{ 
    public string HeaderTitle { get; set; } 
    public string Content { get; set; } 
} 

Ausgang: enter image description here