Windows Phone开发中,减小(改变)Pivot控件PivotItem的Header(标题)字号

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

时间: 2024-10-02 06:19:00

Windows Phone开发中,减小(改变)Pivot控件PivotItem的Header(标题)字号的相关文章

【万里征程——Windows App开发】用浮出控件做预览效果

在前面学习控件的时候,我们已经见过了MessageDialog了,关于Button还有一个浮出控件Flyout哦.具体是怎样用呢?接下来就一起看看咯. 我们还是延续前面的那个示例好了,那么,代码来了. <Button x:Name="btnWhat" Content="这是什么?"> <Button.Flyout> <Flyout> <StackPanel> <TextBlock Width="430&

【在开发中常用的UI控件】

注意UICollectionView,这是一个很牛的控件.

visual studio开发工具的C#主流控件属性一览表

visual studio开发工具的C#主流控件属性一览表 详细的介绍了各控制属性的详细中文介绍 C#控件及常用设计整理 1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运

winform中,如何控制控件位置随窗体的大小改变而改变

winform中,如何控制控件位置随窗体的大小改变而改变 有如下3种方法: 方法1 [csharp] view plaincopy using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace MarkPrint

【WP开发学习笔记】之pivot控件

博主wp开发小白,学习中...欢迎交流,微博@马and康 pivot控件中文也称为枢纽,是wp系统中最常用的控件之一,几乎所有个软件多多少少都会运用这个控件,比如设置.日历等等:该控件可以实现页面左右的快速切换,运行也十分流畅.如在设置中通过左右滑动可以切换为应用程序.系统,日历中通过左右滑动可以切换年.月.日: 首先可以通过项目模板直接建立一个pivot应用程序,或者通过拖动工具箱中的pivot控件,当然也可以直接通过xaml代码来直接写出来,这一点就不多说了: 我在用pivot控件时遇到的第

uwp开发:Pivot控件在加载数据时的一些细节性问题

最近在做一款汽车资讯.新闻.参数查询的客户端,里面多处用到了网络请求以及列表显示,所以我采用Pivot的方式显示各项的内容,如图所示: 但是每一项的网络请求Api是不同的,所以要发送不同的网络请求.由于Pivot是在同一个page下进行展示的,所以,我不得不考虑一个问题: 就是Pivot的这样的加载方式对数据请求到底是怎么影响的?多项是同时加载的吗?这样会对性能有要求吗? 带着这些疑问,我做了下测试,在每个PivotItem的Loaded事件处设置断点,进行调试,发现只要进入这个page,所有P

Panorama和Pivot控件

Windows Phone提供了Panorama和Pivot这两种控件供用户横向切换导航的方式来显示具有内容比较相关的页面.本文主要对这两个控件进行描述,包括如何使用,以及一些最佳实践. 其中包括如下部分: Panorama控件 Pivot控件 如何在二者之间选择 在项目中填加它们 Panorama控件示例 Pivot控件示例 最佳实践 Panorama控件 Panorama控件用来在一个很长的横向面板上显示相关的内容,屏幕之外的内容可以依次切入到屏幕中,可以通过左右滑动的方式来切换它们.当看到

WinForm/Silverlight多线程编程中如何更新UI控件的值

单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e){        Thread t = new Thread(new ParameterizedThreadStart(SetTextBoxValue));    //当然也可以用匿名委托写成

重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件增加了 PlaceholderText 属性

[源码下载] 重新想象 Windows 8.1 Store Apps (77) - 控件增强: 文本类控件的增强, 部分控件增加了 Header 属性和 HeaderTemplate 属性, 部分控件增加了 PlaceholderText 属性 作者:webabcd介绍重新想象 Windows 8.1 Store Apps 之控件增强 文本类控件的增强 为一些控件增加了 Header 属性和 HeaderTemplate 属性 为一些控件增加了 PlaceholderText 属性 示例1.演示