zoukankan      html  css  js  c++  java
  • Windows Phone开发中,减小(改变)Pivot控件PivotItem的Header(标题)字号

    此博文为本人原创,转载请注明出处:http://www.cnblogs.com/zhangdong92/p/4126902.html

    Pivot,枢轴控件在WP中很常见,比如QQ、自带的照片(WP8.1中)使用的就是这种控件和布局,Pivot中可以包含若干个PivotItem(枢轴项),每个PivotItem可以理解为一个子页面,PivotItem中有Header属性,用来设置PivotItem的标题。

    但是,这个Header默认居然不能设置字号!默认的个人认为太大,占据屏幕空间太多,至少在本人之前写的一个应用中需要缩小Header的字号。

    百度、谷歌了一大圈,纠结几天时间,终于找到一种改变Header字号的方法。

    首先看xaml代码(部分关键代码):PivotPage1.xaml

     1         <!--枢轴控件-->
     2         <controls:Pivot x:Name="pivot1" Title="掌上课表" Grid.RowSpan="7" Loaded="pivot1_Loaded" Margin="0" BorderThickness="0" Padding="0,40,0,0">
     3             <controls:Pivot.Background>
     4                 <LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
     5                     <GradientStop Color="#FF0695F7"/>
     6                     <GradientStop Color="#FF4040FF" Offset="1"/>
     7                 </LinearGradientBrush>
     8             </controls:Pivot.Background>
     9             <!--枢轴项日-->
    10             <controls:PivotItem x:Name="PivotItem0" Header="星期日" Width="480" HorizontalAlignment="Center">
    11                 <Image Height="400" VerticalAlignment="Bottom" Width="400" Source="/Images/muyouke.png" HorizontalAlignment="Center" Margin="0,0,0,200"/>
    12 
    13             </controls:PivotItem>
    14 
    15             <!--枢轴项1-->
    16             <controls:PivotItem x:Name="PivotItem1" Header="星期一" Width="480" HorizontalAlignment="Center" Margin="12,-54,12,0">
    17                 <Grid x:Name="grid1" Width="480" Height="620" ShowGridLines="True" VerticalAlignment="Top">
    18                     <Grid.RowDefinitions>
    19                         <RowDefinition Height="10*"/>
    20                         <RowDefinition Height="120*"/>
    21                         <RowDefinition Height="120*"/>
    22                         <RowDefinition Height="120*"/>
    23                         <RowDefinition Height="120*"/>
    24                         <RowDefinition Height="120*"/>
    25                         <RowDefinition Height="10*"/>
    26                     </Grid.RowDefinitions>
    27 
    28                     <TextBlock HorizontalAlignment="Left" Grid.Row="1" Text="课程名称" 
    29                                VerticalAlignment="Top" FontSize="40"
    30                                Foreground="#FF828282" Margin="70,0,0,0" Padding="0,8,0,0" FontFamily="Microsoft YaHei UI" Visibility="Collapsed"/>
    31                     <TextBlock HorizontalAlignment="Left" Margin="70,50,0,0" Grid.Row="1" Text="教师名" VerticalAlignment="Top" FontSize="25" Foreground="#FFC8C8C8" Width="150" Visibility="Collapsed" />
    32                     <TextBlock HorizontalAlignment="Left" Margin="220,50,0,0" Grid.Row="1" Text="3号教学楼237" VerticalAlignment="Top" FontSize="25" Foreground="#FFC8C8C8" Width="264" Visibility="Collapsed" />
    33                     <TextBlock HorizontalAlignment="Left" Margin="70,0,0,0" Grid.Row="1" Text="1-15周" VerticalAlignment="Bottom" FontSize="25" Foreground="#FFC8C8C8" Width="150" Visibility="Collapsed"/>
    34                     <TextBlock HorizontalAlignment="Left" Margin="220,50,0,0" Grid.Row="1" Text="备注备注,我是备注" FontSize="25" Foreground="#FFC8C8C8" Width="264" VerticalAlignment="Bottom" TextTrimming="WordEllipsis" Visibility="Collapsed" />
    35                     
    36                     <StackPanel x:Name="sp11" HorizontalAlignment="Left" Height="120" VerticalAlignment="Bottom" Width="480" Tap="StackPanel_Tap" Grid.Row="1" Background="#00000000" Opacity="0" Canvas.ZIndex="1">
    37                     <!--↓ 长按弹出的菜单-->
    38                     <toolkit:ContextMenuService.ContextMenu>
    39                             <toolkit:ContextMenu>
    40                                 <toolkit:MenuItem x:Name="mt11fz" Header="复制" Tap="MenuItem_Tapfz" />
    41                                 <toolkit:MenuItem x:Name="mt11jq" Header="剪切" Tap="MenuItem_Tapjq" />
    42                                 <toolkit:MenuItem x:Name="mt11zt" Header="粘贴" Tap="MenuItem_Tapzt" />
    43                                 <toolkit:MenuItem x:Name="mt11sc" Header="删除" Tap="MenuItem_Tapsc" />
    44                             </toolkit:ContextMenu>
    45                         </toolkit:ContextMenuService.ContextMenu>
    46                     </StackPanel>
    47                     <StackPanel x:Name="sp12" HorizontalAlignment="Left" Height="120" VerticalAlignment="Bottom" Width="480" Tap="StackPanel_Tap" Grid.Row="2" Background="#00000000" Opacity="0" Canvas.ZIndex="1">
    48                         <toolkit:ContextMenuService.ContextMenu>
    49                             <toolkit:ContextMenu>
    50                                 <toolkit:MenuItem x:Name="mt12fz" Header="复制" Tap="MenuItem_Tapfz" />
    51                                 <toolkit:MenuItem x:Name="mt12jq" Header="剪切" Tap="MenuItem_Tapjq" />
    52                                 <toolkit:MenuItem x:Name="mt12zt" Header="粘贴" Tap="MenuItem_Tapzt" />
    53                                 <toolkit:MenuItem x:Name="mt12sc" Header="删除" Tap="MenuItem_Tapsc" />
    54                             </toolkit:ContextMenu>
    55                         </toolkit:ContextMenuService.ContextMenu>
    56                     </StackPanel>
    57                     <StackPanel x:Name="sp13" HorizontalAlignment="Left" Height="120" VerticalAlignment="Bottom" Width="480" Tap="StackPanel_Tap" Grid.Row="3" Background="#00000000" Opacity="0" Canvas.ZIndex="1">
    58                         <toolkit:ContextMenuService.ContextMenu>
    59                             <toolkit:ContextMenu>
    60                                 <toolkit:MenuItem x:Name="mt13fz" Header="复制" Tap="MenuItem_Tapfz" />
    61                                 <toolkit:MenuItem x:Name="mt13jq" Header="剪切" Tap="MenuItem_Tapjq" />
    62                                 <toolkit:MenuItem x:Name="mt13zt" Header="粘贴" Tap="MenuItem_Tapzt" />
    63                                 <toolkit:MenuItem x:Name="mt13sc" Header="删除" Tap="MenuItem_Tapsc" />
    64                             </toolkit:ContextMenu>
    65                         </toolkit:ContextMenuService.ContextMenu>
    66                     </StackPanel>
    67                     <StackPanel x:Name="sp14" HorizontalAlignment="Left" Height="120" VerticalAlignment="Bottom" Width="480" Tap="StackPanel_Tap" Grid.Row="4" Background="#00000000" Opacity="0" Canvas.ZIndex="1">
    68                         <toolkit:ContextMenuService.ContextMenu>
    69                             <toolkit:ContextMenu>
    70                                 <toolkit:MenuItem x:Name="mt14fz" Header="复制" Tap="MenuItem_Tapfz" />
    71                                 <toolkit:MenuItem x:Name="mt14jq" Header="剪切" Tap="MenuItem_Tapjq" />
    72                                 <toolkit:MenuItem x:Name="mt14zt" Header="粘贴" Tap="MenuItem_Tapzt" />
    73                                 <toolkit:MenuItem x:Name="mt14sc" Header="删除" Tap="MenuItem_Tapsc" />
    74                             </toolkit:ContextMenu>
    75                         </toolkit:ContextMenuService.ContextMenu>
    76                     </StackPanel>
    77                     <StackPanel x:Name="sp15" HorizontalAlignment="Left" Height="120" VerticalAlignment="Bottom" Width="480" Tap="StackPanel_Tap" Grid.Row="5" Background="#00000000" Opacity="0" Canvas.ZIndex="1">
    78                         <toolkit:ContextMenuService.ContextMenu>
    79                             <toolkit:ContextMenu>
    80                                 <toolkit:MenuItem x:Name="mt15fz" Header="复制" Tap="MenuItem_Tapfz" />
    81                                 <toolkit:MenuItem x:Name="mt15jq" Header="剪切" Tap="MenuItem_Tapjq" />
    82                                 <toolkit:MenuItem x:Name="mt15zt" Header="粘贴" Tap="MenuItem_Tapzt" />
    83                                 <toolkit:MenuItem x:Name="mt15sc" Header="删除" Tap="MenuItem_Tapsc" />
    84                             </toolkit:ContextMenu>
    85                         </toolkit:ContextMenuService.ContextMenu>
    86                     </StackPanel>
    87                     
    88                 </Grid>
    89             </controls:PivotItem>
    90 
    91         </controls:Pivot>

    减小Header字号,使用如下的C#代码:

    1         private void SmallHeaderSize()//减小pivot中header字体,设为40
    2         { 
    3                 PivotItem pi0 = pivot1.Items[0] as PivotItem;
    4                 TextBlock tbHot0 = new TextBlock { Text = "星期日", FontSize = 40}; pi0.Header = tbHot0;
    5                 PivotItem pi1 = pivot1.Items[1] as PivotItem;
    6                 TextBlock tbHot1 = new TextBlock { Text = "星期一", FontSize = 40 }; pi1.Header = tbHot1;
    7                
    8         }

    上述代码中,pivot1是Pivot的name属性(理解为Pivot的变量名)。代码作用大致为取出Pivot中的PivotItem,设置属性Header为一个动态创建的TextBlock,而该TextBlock的各种属性都是可以设置的。

    此方法是搜索很久找到的,但原始出处已经记不清了……

    效果图如下:(上边的xaml代码中去除了部分代码,效果图中是没有去除的)

    也可以下载应用“掌上课表”查看效果。博文中的代码来自于掌上课表源码,应用商店连接:

    http://www.windowsphone.com/zh-cn/store/app/%E6%8E%8C%E4%B8%8A%E8%AF%BE%E8%A1%A8/a2560593-d4e5-4a44-bb30-65154e428957

     

    第一次写技术类博文,以后会将更多开发中的新的、发现的方法技巧等发到博客园。欢迎感兴趣者共同学习交流!

    如果此博文有不妥之处,敬请留言告知本人。

     

    PS:本人还有过对于WP使用“传输我的数据”导出短信的*.vmsg格式文件结构的研究(稍后会写在博客上),并且写了一个电脑端打开此类文件管理短信的小工具SmsManager,编辑后的文件还可以作为短信导入手机。

    到Dospy查看详情:

    【SmsManager】Windows Phone手机PC端短信管理工具V1.0发布!【个人开发】 - 诺基亚Lumia 620论坛 - WP8论坛|WP论坛|诺基亚WP8系统手机|WP8软件|WP8游戏 - dospy
    http://bbs.dospy.com/thread-17066243-1-747-1.html

  • 相关阅读:
    .net 有游戏框架了?庆祝下
    python爬虫解决gbk乱码问题
    N46期第10周作业
    N46期第四周作业
    N46期第三周作业
    N46期第九周作业
    月考
    第二阶段
    N46期第八周作业
    第七周
  • 原文地址:https://www.cnblogs.com/zhangdong92/p/4126902.html
Copyright © 2011-2022 走看看