I'm trying to add a PivotItem to a Pivot dynamically at load time. I need some screen estate and the standard pivot item header font was too big for me. Some forum searching has lead to this solution:
<controls:PivotItem>
<controls:PivotItem.Header>
<TextBlock FontSize="{StaticResource PhoneFontSizeLarge} Text="MyHeaderText"/>
</controls:PivotItem.Header>
</controls:PivotItem>
This solution works okay if I defined it within the pivotitem XAML itself, but how I can do this in C# code?
You just need to create a Pivot
object and some PivotItems
objects and then add those PivotItems
to the Pivot
. At last add this Pivot
to your LayoutRoot
which is likely a Grid
.
Something like this,
void PivotPage2_Loaded(object sender, RoutedEventArgs e)
{
var pivot = new Pivot();
var textBlock = new TextBlock { Text = "header 1", FontSize = 32 };
var pivotItem1 = new PivotItem { Header = textBlock };
var textBlock2 = new TextBlock { Text = "header 2", FontSize = 32 };
var pivotItem2 = new PivotItem { Header = textBlock2 };
pivot.Items.Add(pivotItem1);
pivot.Items.Add(pivotItem2);
this.LayoutRoot.Children.Add(pivot);
}