wp8设置动态枢轴项的标题大小

时间:2013-08-26 20:36:07

标签: c# xaml windows-phone-8 windows-phone

我是windows phone developpement的初学者,我创建了一个数据透视应用程序,pivot的项目是动态填充的,但我不能调整每个标题的字体大小,我不知道为什么,这是xaml接口:

<phone:Pivot  VerticalAlignment="Top"  Name="pivotMainList">
    <phone:PivotItem   Name="titleToday" Margin="12,4,12,0">
        <phone:PivotItem.Header>
           <TextBlock Text="MainPage" FontSize="40"/>
        </phone:PivotItem.Header>
        <Grid Height="357">
           <ListBox ... // some code

这是背后的代码:

for (int i = 0; i <= 20; i++)
{
    var textBlock = new TextBlock { Text = "Pivot " + i, FontSize = 32 };
    PivotItem myNewPivotItem = new PivotItem { Header = textBlock, Name = "piv_" + i };
    Grid myNewGrid = new Grid();
    //... i fill the grid here

    //add pivot to main list
    pivotMainList.Items.Add(myNewPivotItem);
}

它给出了一个奇怪的例外:

  

HappyConf.DLL!HappyConf.App.Application_UnhandledException(object sender,System.Windows.ApplicationUnhandledExceptionEventArgs e)

2 个答案:

答案 0 :(得分:1)

更改字体的一种方法是创建自定义标头模板资源,然后将数据透视表的标头模板属性绑定到资源。

以下是一个例子:

此代码应位于应用程序资源部分的App.xaml文件中。

<强> XAML

<DataTemplate x:Key="SmallPanoramaTitle">
        <ContentPresenter>
            <TextBlock Text="{Binding}" FontSize="50" Margin="0,0,0,0" />
        </ContentPresenter>
    </DataTemplate>

现在为后面的代码。 的 C#

myNewPivotItem.HeaderTemplate = Resource["SmallPanoramaTitle"] as HeaderTemplate;

答案 1 :(得分:0)

如果你没有在C#中应用DataTemplate“SmallPanoramaTitle”,你可以按照以下方式在XAML中应用它:

<phone:Pivot Title"Pivot" SelectionChanged="Pivot_SelectionChanged" HeaderTemplate="{StaticResource SmallPanoramaTitle}">