一、前言

  动态磁贴在WindowsPhone8.1和Windows8.1都是其特色,有人喜欢有人讨厌,不过我觉得还是挺好的,可以让使用者很快知道App内的内容和吸引使用者打开App。下面来学习下怎样添加动态磁贴,其实挺简单的。

二、磁贴的模板(tile's templates)

  windows8.1上的磁贴和windowsphone上的磁贴的模板大致相同,msdn文档https://msdn.microsoft.com/en-us/library/windows/apps/hh761491.aspx?f=255&MSPPError=-2147217396 上可以找到你所需要的磁贴模板。磁贴主要是peek,block,imagecollection。通过查看msdn提供的文档,可知磁贴模板是通过xml格式的内容控制的,简单的例子如下:

<tile>
<visual version="2">
<binding template="TileWide310x150PeekImage02" fallback="TileWidePeekImage02">
<image id="1" src="data:image1.png" alt="alt text"/>
<text id="1">Text Field 1 (larger text)</text>
<text id="2">Text Field 2</text>
<text id="3">Text Field 3</text>
<text id="4">Text Field 4</text>
<text id="5">Text Field 5</text>
</binding>
</visual>
</tile>

效果如图:

三、后台代码

  更新App的磁贴十分简单,C#代码如下:

XmlDocument tileDoc = new XmlDocument();tileDoc.LoadXml("<my tile XML/>");

TileNotification myNewTile = new TileNotification(tileDoc);

TileUpdater myTileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
myTileUpdater.Update(myNewTile);

四、具体demo

 public static void CreatTiles()
{
string TileSquare150x150Image = @"ms-appx:///Assets/SmallLogo.scale-240.png";
string TileSquare310x150Image = @"ms-appx:///Assets/WideLogo.scale-240.png";
XmlDocument tileXML=new XmlDocument();
////////////////////////////////////////////////////////
// Find all the available tile template formats at:
// http://msdn.microsoft.com/en-us/library/windows/apps/Hh761491.aspx string tileString = "<tile>" +
"<visual version=\"2\">" +
"<binding template=\"TileSquare150x150PeekImageAndText01\" fallback=\"TileSquarePeekImageAndText01\">" +
"<image id=\"1\" src=\"" + TileSquare150x150Image + "\" alt=\"alt text\"/>" +
"<text id=\"1\">" + "MOV A #01H" + "</text>" +
"<text id=\"2\">" + "把01H赋值给累加器A" + "</text>" +
"</binding>" +
"<binding template=\"TileWide310x150PeekImage01\" fallback=\"TileWidePeekImage01\">" +
"<image id=\"1\" src=\"" + TileSquare310x150Image + "\" alt=\"alt text\"/>" +
"<text id=\"1\">" + "MOV A #01H" + "</text>" +
"<text id=\"2\">" + "把01H赋值给累加器A" + "</text>" +
"</binding>" +
"</visual>" +
"</tile>";
tileXML.LoadXml(tileString);
//新建磁贴通知
TileNotification tile = new TileNotification(tileXML);
//更新磁贴通知
TileUpdater updateTiler = TileUpdateManager.CreateTileUpdaterForApplication();
updateTiler.EnableNotificationQueue(false);
updateTiler.Update(tile);
}

每当要更新磁贴信息,只需要调用此方法即可。

WP8.1 Study18:动态磁贴的更多相关文章

  1. wp8.1 创建动态磁贴应用

    目前Windows Phone 8.1所支持磁贴像素大小有71x71.150x150和310x150,分为大中小三种模式,对于桌面磁贴微软提供的诸多模板http://msdn.microsoft.co ...

  2. 【Win10 UWP】后台任务与动态磁贴

    动态磁贴(Live Tile)是WP系统的大亮点之一,一直以来受到广大用户的喜爱.这一讲主要研究如何在UWP应用里通过后台任务添加和使用动态磁贴功能. 从WP7到Win8,再到Win10 UWP,磁贴 ...

  3. Win8.1应用开发之动态磁贴

    using demo02.Common; using System; using System.Collections.Generic; using System.IO; using System.L ...

  4. UWP Windows10开发更新磁贴和动态更新磁贴

    下面将介绍两种方式如何在windows10 uwp开发中如何更新应用磁贴: 实际上windows的磁贴就是用xml实现的,你只需要创建相应格式的xml就可以实现动态磁贴了 一,手动更新磁贴 二,轮询更 ...

  5. WinPhone学习笔记(四)——磁贴

    对每个Windows Phone的使用者来说,给他们的第一印象就是大大小小的磁贴——Metro,本篇介绍的是Windows Phone的磁贴,提到的有开始菜单的磁贴,也有在App里面的磁贴. 开始菜单 ...

  6. WP8.1开发者预览版本号已知 Bug

    偶的 Lumia 920 已经升级到最新的 8.1 开发者预览版本号,使用中没有发现什么问题. 可能是由于偶玩手机的情况比較少吧!忽然看到 MS 停止此版本号的更新,并说明有非常多的 BUG,偶就郁闷 ...

  7. Windows 8.1 应用再出发 - 磁贴的更新

    本篇和大家一起了解一下Windows 8.1 中磁贴的更新,我们来看看如何利用它做出更好的应用磁贴. 首先我们从展现形式上来对比一下Windows 8 与 Windows 8.1 中的磁贴: Wind ...

  8. 首发 手把手教你制作 Windows8 应用程序内部的 hubtile (动态瓷砖控件) MetroStyle(转)

    http://blog.csdn.net/wangrenzhu2011/article/details/8175492 (转) 在metro 风格中 动态磁贴是他的精髓 在wp7 的开发中 我们可以使 ...

  9. 快速构建Windows 8风格应用31-构建磁贴

    原文:快速构建Windows 8风格应用31-构建磁贴 引言 磁贴是吸引用户经常使用应用重要手段之一.我们可将应用程序内较好的内容使用磁贴进行展示. 另外应用程序磁贴是应用程序中的核心部分,而且很可能 ...

随机推荐

  1. mfc ui3

    引用:http://www.cnblogs.com/rainbowzc/archive/2010/06/02/1749872.html 本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者.读者 ...

  2. array_merge注意细节

    array_merge:合并一个或多个数组,一个数组中的值加在前一个数组的后面,返回的新数组作为结果 如果输入的数组中有相同的字符串键名,则该键名后面的值覆盖前面的,如果数组包含相同的数字键名,后面的 ...

  3. javascript百度地图添加一个普通标注点(2014-3-8 记)

    1.导入jquery.js文件:<script type="text/javascript" src="js/jquery.js"></scr ...

  4. Python—进程、线程、协程

    一.线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 方法: ...

  5. 关于jstl标签引入的问题

    1.源码: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> < ...

  6. 【转】Struts1.x系列教程(3):属性(资源)文件乱码问题的解决之道

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/14/251244.html ...

  7. chrome表单自动填充去掉input黄色背景解决方案

    设置css代码如下: input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; } 参考文章:http://bl ...

  8. Stockbroker Grapevine(floyd+暴力枚举)

    Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 31264 Accepted: 171 ...

  9. [转]NPOI 单元格级别应用

    原文地址:http://hi.baidu.com/linrao/item/fadf96dce8770753d63aaef2 HSSFWorkbook hssfworkbook = new HSSFWo ...

  10. 监控流量shell脚本

    # vi /etc/rc.d/traffic_monitor.sh---------------------------------------------- #!/bin/bash PATH=/bi ...