WP8磁贴分两种 
        1. 应用程序自带的 都有且不能删除只能修改
        2. 次要次贴 可以自己生成修改

当然无论是哪种tile 他们都具有想类似的设置和属性 看上一篇介绍
       
         废话少说,直接上code

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. using System.Windows.Navigation;
  8. using Microsoft.Phone.Controls;
  9. using Microsoft.Phone.Shell;
  10. using PhoneApp1.Resources;
  11. namespace PhoneApp1
  12. {
  13. public partial class MainPage : PhoneApplicationPage
  14. {
  15. // 构造函数
  16. public MainPage()
  17. {
  18. InitializeComponent();
  19. }
  20. /**
  21. Tile - 磁贴
  22. *     Tile 的大小是173
  23. * 173宽 Tile 的大小 356
  24. * 173需要把 manifest 中的 <TemplateType5> 修改为 <TemplateType6>但是不会通过微软审核
  25. *     Tile 分为应用程序磁贴Application Tile和次要磁贴Secondary Tile
  26. *     程序无虑如何都有一个 Application Tile无论它是否被固定到了开始屏幕只能更新它不能创建和删除而 Secondary Tile 是可以创建、更新和删除的Secondary Tile 如果存在一定是在开始屏幕上
  27. */
  28. /* *
  29. 注意
  30. * 创建次要磁贴时背景图必须使用本地资源程序包内或独立存储中如果是独立存储则图像必须位于 Shared/ShellContent
  31. * 更新应用程序磁贴或次要磁贴时可以使用本地资源或远程资源来更新背景图像
  32. * 磁贴图像可以是 jpg 或 png 或 gif只显示第一帧png 或 gif 的透明区域的背景会呈现主题色
  33. * 当使用远程图像时不能是https要小于80KB必须30秒内下载完
  34. */
  35. /** StandardTileData - 用于描述 Tile 的数据
  36. *     Title - 正面标题
  37. *     BackgroundImage - 正面背景
  38. *     Count - 正面显示的 badge 徽章范围 1 - 99
  39. *     BackTitle - 背面标题
  40. *     BackBackgroundImage - 背面背景
  41. *     BackContent - 背面内容
  42. *
  43. *
  44. * ShellTile - 用于管理应用程序Tile和次要Tile
  45. *     Update(StandardTileData data) - 使用指定的 Tile 数据更新已有的 Tile 信息
  46. *     Delete() - 删除此 Tile
  47. *     NavigationUri - 此 Tile 的导航地址
  48. *
  49. *     ShellTile.ActiveTiles - 固定到开始屏幕的 Tile 集合。注意其第一个元素必然是 application tile无论其是否被固定到了首页
  50. *     ShellTile.Create(Uri navigationUri, ShellTileData initialData) - 创建一个新的 Secondary Tile如果有 Secondary Tile其必然是被固定到开始屏幕的
  51. *         navigationUri - 点击 Tile 后所导航到的地址此值相当于 key 值不能重复
  52. *         initialData - 需要创建的 Tile 数据
  53. */
  54. private void Button_Click_1(object sender, RoutedEventArgs e)
  55. {
  56. var btn = sender as Button;
  57. if (btn == null) return;
  58. string tag = btn.Tag.ToString();
  59. if ("flag1" == tag)
  60. {
  61. // 应用程序tile更新
  62. ShellTile TileToFind = ShellTile.ActiveTiles.First();
  63. // 设置要更新的一些属性
  64. StandardTileData NewTileData = new StandardTileData
  65. {
  66. Title       = "tile header",
  67. BackTitle   = "back",
  68. BackContent = "亲沁,您有2条新的消息哟",
  69. Count       = 2,
  70. // local Resource
  71. BackgroundImage     = new Uri(@"20090318230037405.png", UriKind.Relative),
  72. BackBackgroundImage = new Uri(@"20090318230037473.png", UriKind.Relative),
  73. // remote
  74. //BackgroundImage
  75. //BackBackgroundImage
  76. // shellcontent
  77. //BackgroundImage
  78. //BackBackgroundImage
  79. };
  80. // 更新
  81. TileToFind.Update(NewTileData);
  82. }
  83. else if ("flag2" == tag)
  84. {
  85. // 次要tile创建
  86. // 查找所有中符合实例
  87. ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("act=subtile"));
  88. // 如果不存在就创建
  89. if (TileToFind == null)
  90. {
  91. //设置一些属性
  92. StandardTileData NewTileData = new StandardTileData
  93. {
  94. Title = "次要磁贴",
  95. BackTitle = "我在这里o",
  96. BackContent = "Hi,你有一条新的消息。",
  97. Count = 1,
  98. BackgroundImage = new Uri("20090318230038555.png", UriKind.RelativeOrAbsolute),
  99. BackBackgroundImage = new Uri("20081111083224898.png", UriKind.RelativeOrAbsolute),
  100. };
  101. // 创建
  102. ShellTile.Create(new Uri("/SubTile.xaml?act=subtile", UriKind.Relative), NewTileData);
  103. }
  104. }
  105. else if ("flag3" == tag)
  106. {
  107. // 次要tile更新
  108. ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("act=subtile"));
  109. if (null != TileToFind)
  110. {
  111. StandardTileData updateTileData = new StandardTileData
  112. {
  113. Title = "更新次要磁贴",
  114. Count = 34,
  115. BackContent = "背景内容也更新",
  116. };
  117. TileToFind.Update(updateTileData);
  118. }
  119. }
  120. else if ("flag4" == tag)
  121. {
  122. // 次要tile删除
  123. ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("act=subtile"));
  124. if (null != TileToFind)
  125. {
  126. TileToFind.Delete();
  127. }
  128. }
  129. else if ("flag5" == tag)
  130. {
  131. // 实施计划任务更新
  132. /** ShellTileSchedule - 用于按计划更新磁贴的正面背景图
  133. *     new ShellTileSchedule() - 更新 Application Tile
  134. *     new ShellTileSchedule(ShellTile tile) - 更新指定的 Secondary Tile
  135. *
  136. *     Recurrence - 更新计划的模式
  137. *         UpdateRecurrence.Interval - 定时更新
  138. *         UpdateRecurrence.Onetime - 只更新一次
  139. *     Interval - 定时更新时的更新间隔只能是 每小时/每天/每星期/每月
  140. *     MaxUpdateCount - 最大的更新次数默认值是 0即无限次更新
  141. *     StartTime - 开始更新的时间
  142. *     RemoteImageUri - 需要更新的图像的远程地址
  143. *
  144. *     Start() - 启动计划
  145. *     Stop() - 停止计划
  146. *
  147. *
  148. * 注意
  149. * 具体更新时间点是由系统统一调度的系统每隔一段时间会批处理所有程序的更新计划这么做是为了省电也就是说即使你设置了
  150. StartTime = DateTime.Now也不会马上更新但是一个小时内应该会更新
  151. * 如果更新计划失败比如找不到远程图像远程图像大于80KB超过30秒还没下载完等次数太多则该更新计划会被系统自动取消
  152. */
  153. ShellTile TileToFind = ShellTile.ActiveTiles.First();
  154. if (null != TileToFind)
  155. {
  156. ShellTileSchedule sts = new ShellTileSchedule(TileToFind);
  157. //sts.Interval = UpdateInterval.EveryHour;
  158. sts.Recurrence = UpdateRecurrence.Interval;
  159. sts.StartTime = DateTime.Now;
  160. sts.RemoteImageUri = new Uri("http://z.k1982.com/png/up/200902/20090207032006183.png",UriKind.Absolute);
  161. sts.Start();
  162. }
  163. }
  164. else
  165. {
  166. // 异常或其他
  167. // MessageBox.Show("不要乱来哈,s货");
  168. }
  169. }
  170. }
  171. }

复制代码

更多图片 小图 大图
点击放大
点击放大
点击放大
点击放大
点击放大
点击放大

<ignore_js_op>

PhoneApp1.rar

1.26 MB, 阅读权限: 10, 下载次数: 7

源码包

转载于:https://www.cnblogs.com/Belling/archive/2013/04/03/2997315.html

Windows phone 开发基础(14) WP8磁贴分两种的创建方式(内建和外建)相关推荐

  1. Windows驱动开发基础(五)驱动程序的数据结构

    Windows驱动开发基础:驱动程序的数据结构.转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38794405 I/O管理器定义了一些数据 ...

  2. php内li背景色,CSS_css中ul li的背景小图标属性设置的两种情况,这里我们分两种情况列出: ① - phpStudy...

    css中ul li的背景小图标属性设置的两种情况 这里我们分两种情况列出: ①当标题前的图标是很长的一绺而不是单独的一个点或者类似图标时,在定义背景图background要定义在 里.因为很长,所以放 ...

  3. LSP分两种:一种是IFS LSP,一种是non IFS LSP.

    LSP分两种:一种是IFS LSP,一种是non IFS LSP.简单地说, IFS LSP制作简单,可以完成大部分的数据包监听工作; non IFS LSP制作复杂,但是可以进行一些特殊的overl ...

  4. 电话转接有分两种方式

    电话转接有分两种方式: 盲转接(Blind Transfer) – 操作过程 3000拨打3001,3001接通后,然后将3000通话转接至 3002,分机 3001 立即与3000断线,分机 300 ...

  5. php控制windows系统关机,window_winXP系统设置一键关机的两种方法,windows系统关机需要三步,对我 - phpStudy...

    winXP系统设置一键关机的两种方法 windows系统关机需要三步,对我这样的懒人来说实在不方便.在网络上寻找了许多方法,最后用了一个.现在介绍给有需要的人.关机方法是鼠标一点关机或热键关机. 创建 ...

  6. linux内核分两种,Linux内核版本

    Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y r:目前发布的内核主版本. x:偶数表示稳定版本:奇数表示开发中版本. y:错误修补的次数. 内核版本号每位 ...

  7. Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)

    通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...

  8. SpringMVC基础学习之Controller的两种实现方式和RequstMapping注解的使用

    前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 这个SpringM ...

  9. java线程通信概念_java基础线程总结(线程概念、线程创建方式、线程间通信、线程重要方法)...

    基础篇之<线程> @author :kern ---------------------------------------------------------------- 一:进程:是 ...

最新文章

  1. [内部项目]i前端如何增加一个页面
  2. android final函数,Android 回调函数 解析问题
  3. ThreadLocal应用-使用ThreadLocal做线程缓存变量池
  4. 攻防世界-web-ics-07-从0到1的解题历程writeup
  5. CRM和ERP的Sales Organization的映射关系
  6. windows消息队列C语言,08年计算机二级C语言辅导:vc操作微软消息队列的方法
  7. java 内部类 返回值_Java学习笔记:形参和返回值、内部类、常用API
  8. Java编写优雅接口,看看别人后端API接口写得,那叫一个优雅!
  9. tomcat配置报错解决方法 The jre_home environment variable is not defined correctly
  10. python能做什么软件-初学python编程,有哪些不错的软件值得一用?
  11. mysql生成百万条数据_mysql 快速生成百万条测试数据
  12. python数据处理源代码_python数据分析与应用源数据和代码
  13. SSD固态硬盘一键分区后如何检测4K对齐?
  14. 写论文与PPT汇报时matlab图片的背景透明处理
  15. 扫码下载apk文件浏览器会直接打开并显示乱码的问题
  16. 细胞治疗质量控制解决方案
  17. VX_Ipad协议和Mac协议
  18. 什么是运动仿真?浩辰3D制图软件运动仿真应用技巧
  19. 关于SSM的家具购物系统的设计答辩问题合集
  20. 清华和MIT(转自水木)-强烈推荐

热门文章

  1. 【往届已EI检索-IEEE技术支持】第三届-信息技术与计算机应用 多主题征稿!
  2. 速度提升2倍,超强悍CPU级骨干网络PP-LCNet出世!
  3. 新加坡科技设计大学招收全奖博士,以及Research Assistant/Postdoc
  4. 你想入门Python,还是得看这篇文章
  5. Github | ICCV2019论文1000余篇更新!附下载链接
  6. 《Python编程从入门到实践》记录之while循环简介(break、continue)
  7. 深度学习(三十八)卷积神经网络入门学习(2.0)
  8. 在java中对于构造函数_在Java语言中,下面有关于构造函数的描述正确的是()。
  9. html5标签属性大全_HTML/HTML5 知识点思维导图
  10. php soap详解,关于PHP+SOAP详解