如何在winrt UWP中使用DataTemplate添加多个枢轴?

时间:2016-05-03 14:02:53

标签: xaml win-universal-app winrt-xaml

我有一个条件,我想添加多个PivotItems(动态)。 即;我有一个List<CustomModel>,其大小是动态的。对于List中的每个项目,我想创建一个带有标题为CustomModel.Title的PivotItem。

是否可以通过创建DataTemplate并将其绑定到Pivot来单独使用xaml实现此目的?

1 个答案:

答案 0 :(得分:2)

肯定有可能。见下面的样本解决方案

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

模拟绑定的代码

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

输出: enter image description here