Great idea!
I don't use your solution exact, but I was inspired by your idea.
Here is what I did:
1.Create a StackPanel as a container, set the top margin with negative value, such as Margin="0,-35,0,0"
2.Add a few TextBlocks to fake the Pviot Headers, set data binding that you was intended to bind with the Headers.
3.Set TextBlocks Width = "Auto"
, add a few right Margin so it won't be too crowded
NOTE: When the first TextBlock represent the current PivotItem, the others represent the others -- which are in-activated.
4.For the TextBlocks for in-activated PivotItems, we set the Foreground="#FF727272"
to make a distinguish with the activated one. And also add a Event Handler, e.g. Tap="GoToPivot2_Tap"
with the simple code behind: PivotRoot.SelectedItem = Pivot2;
<controls:Pivot x:Name="PivotRoot">
<controls:PivotItem x:Name="Pivot1">
<StackPanel Margin="0,-35,0,0" Orientation="Horizontal">
<TextBlock Text="{Binding Header1}" Width="Auto" Margin="0,0,25,0" FontSize="30"/>
<TextBlock Text="{Binding Header2}" Tap="GoToPivot2_Tap" Width="Auto" Margin="0,0,25,0" Foreground="#FF727272" FontSize="30"/>
<TextBlock Text="{Binding Header3}" Tap="GoToPivot3_Tap" Width="Auto" Margin="0,0,25,0" Foreground="#FF727272" FontSize="30"/>
</StackPanel>
</controls:PivotItem>
<controls:PivotItem x:Name="Pivot2">
<StackPanel Margin="0,-35,0,0" Orientation="Horizontal">
<TextBlock Text="{Binding Header2}" Width="Auto" Margin="0,0,25,0" FontSize="30"/>
<TextBlock Text="{Binding Header3}" Tap="GoToPivot3_Tap" Width="Auto" Margin="0,0,25,0" Foreground="#FF727272" FontSize="30"/>
<TextBlock Text="{Binding Header1}" Tap="GoToPivot1_Tap" Width="Auto" Margin="0,0,25,0" Foreground="#FF727272" FontSize="30"/>
</StackPanel>
</controls:PivotItem>
<controls:PivotItem x:Name="Pivot3">
<StackPanel Margin="0,-35,0,0" Orientation="Horizontal">
<TextBlock Text="{Binding Header3}" Width="Auto" Margin="0,0,25,0" FontSize="30"/>
<TextBlock Text="{Binding Header1}" Tap="GoToPivot1_Tap" Width="Auto" Margin="0,0,25,0" Foreground="#FF727272" FontSize="30"/>
<TextBlock Text="{Binding Header2}" Tap="GoToPivot2_Tap" Width="Auto" Margin="0,0,25,0" Foreground="#FF727272" FontSize="30"/>
</StackPanel>
</controls:PivotItem>
</controls:Pivot>
That's it.
Maybe event less elegant than yours, but also works.