2013-08-26 62 views
0

我是一个初学者在Windows手机开发,我创建了一个数据透视应用程序,数据透视的项目动态填充,但我不能调整每个标题的字体大小,我不“知道为什么,这是XAML接口:wp8设置标头大小的动态数据项

<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(对象发件人,System.Windows.ApplicationUnhandledExceptionEventArgs E)

回答

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; 
+0

到底在哪这应该放置在透视的风格? – Matthew

0

,如果你是跟着没有在C#中,您可以在XAML应用它应用的DataTemplate “SmallPanoramaTitle”:

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