使用多个 Header 项和单个 PivotItem 进行透视

Pivot with multiple Header items and a single PivotItem

是否有可能用一个 PivotItem 和多个 headers 创建一个 Pivot 来创建一个效果,就像有多个 PivotItem 但只有一个显示。

所有数据透视表项都将是同一类型,并且有一个模板。

其中一个问题是当我的 Pivot 只包含一个项目时,枢轴变得不可滚动(不可滑动)。

我需要这样的行为来重用创建的视图并减少内存消耗。

我试过更改枢轴样式,但还没有成功。也许任何人都创造了类似的东西并且可以帮助我。

您可以创建多个 PivotItem 和一个内容。最初您的内容将在第一个 PivotItem 中。然后在 SelectionChanged 事件中,从之前的 PivotItem 中删除您的内容(设置它的内容 null)并将其添加到当前选择的内容。

这是一个例子:

<phone:Pivot x:Name="myPivot" Title="MYPIVOT" SelectionChanged="Pivot_SelectionChanged">
    <phone:PivotItem x:Name="one" Header="one">
        <Grid x:Name="content">
            <!-- Place content here -->
        </Grid>
    </phone:PivotItem>
    <phone:PivotItem x:Name="two" Header="two" />
    <phone:PivotItem x:Name="three" Header="three" />
</phone:Pivot>

下面是代码:

    PivotItem selected;

    public MainPage()
    {
        InitializeComponent();
        selected = one;
    }

    private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        selected.Content = null;

        switch(myPivot.SelectedIndex)
        {
            case 0:
                one.Content = content;
                selected = one;
                break;
            case 1:
                two.Content = content;
                selected = two;
                break;
            case 2:
                three.Content = content;
                selected = three;
                break;
        }
    }