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

How to add multiple pivots using DataTemplate in winrt UWP?

我有一个条件,我想添加多个 PivotItems(它是动态的)。 IE;我有一个 List<CustomModel>,其大小是动态的,对于列表中的每个项目,我想创建一个 PivotItem header 作为 CustomModel.Title。

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

当然可以。请参阅下面的示例解决方案

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

输出: