7.8 SDK 终于出了(下载:http://www.cnblogs.com/sun8134/archive/2013/01/23/2872562.html)

可惜一个api都木有…

唯一增加的就是tile的变化

详细见MSDN文档:http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj720574(v=vs.105).aspx

Supported features


A Windows Phone OS 7.1 app that runs on Windows Phone 8 or Windows Phone 7.8 supports the following Tile features:

  • For the default Tile, the flip Tile is the only supported template. For more information about this template, see Flip Tile template for Windows Phone 8.

  • For secondary Tiles, all Tile templates are supported: Flip Tile template for Windows Phone 8, Iconic Tile template for Windows Phone 8, and Cycle Tile template for Windows Phone 8.

  • Independently update the small and medium Tile sizes. You can also optionally support the wide Tile size.

  • You can use both push notifications and the ShellTile APIs to update Tiles.

默认的Tile只支持Flip Tile 我们来看看实现的效果吧:

首先要看下Flip Tile的结构,还是看MSDN文档吧:http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206971(v=vs.105).aspx

下面准备需要的图片,大小分别为159*159,336*336,691*336

还有一张对应wp7.5的173*173

然后开始code,第一步摇先判断版本,是否为7.8

       //设定版本
        private static Version TargetedVersion = new Version(7, 10, 8858);
 
        //判断是否满足版本要求
        public static bool isTargetedVersion { get { return Environment.OSVersion.Version >= TargetedVersion; } }

如果大约等于7.8,则替换默认tile为Flip Tile:

                    ShellTile appTile = ShellTile.ActiveTiles.First();
                    // Get the new FlipTileData type.
                    Type flipTileDataType = Type.GetType("Microsoft.Phone.Shell.FlipTileData, Microsoft.Phone");
 
                    // Get the ShellTile type so we can call the new version of "Update" that takes the new Tile templates.
                    Type shellTileType = Type.GetType("Microsoft.Phone.Shell.ShellTile, Microsoft.Phone");
 
                    // Loop through any existing Tiles that are pinned to Start.
                    //var tileToUpdate = ShellTile.ActiveTiles.First();
 
 
                    // Get the constructor for the new FlipTileData class and assign it to our variable to hold the Tile properties.
                    var UpdateTileData = flipTileDataType.GetConstructor(new Type[] { }).Invoke(null);
 
                    // Set the properties. 
                    SetProperty(UpdateTileData, "Title", "Main Tile Title");
                    SetProperty(UpdateTileData, "Count", 0);
                    SetProperty(UpdateTileData, "BackTitle", "Back Tile Title");
                    SetProperty(UpdateTileData, "BackContent", "Content For back tile.");
                    SetProperty(UpdateTileData, "SmallBackgroundImage", new Uri("Windows 8 59.png", UriKind.Relative));
                    SetProperty(UpdateTileData, "BackgroundImage", new Uri("Windows 8 336.png", UriKind.Relative));
                    SetProperty(UpdateTileData, "BackBackgroundImage", new Uri("", UriKind.Relative));
                    SetProperty(UpdateTileData, "WideBackgroundImage", new Uri("Windows 8 691.png", UriKind.Relative));
                    SetProperty(UpdateTileData, "WideBackBackgroundImage", new Uri("", UriKind.Relative));
                    SetProperty(UpdateTileData, "WideBackContent", "Content for Wide Back Tile. Lots more text here.");
 
                    // Invoke the new version of ShellTile.Update.
                    shellTileType.GetMethod("Update").Invoke(appTile, new Object[] { UpdateTileData });

设定Flip Tile属性的方法:

        private static void SetProperty(object instance, string name, object value)
        {
            var setMethod = instance.GetType().GetProperty(name).GetSetMethod();
            setMethod.Invoke(instance, new object[] { value });
        }

另外在英文的MSDN文档(http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj720574(v=vs.105).aspx)里要求修改WMAppManifest.xml,添加AppExtra节点:

而且说明添加后在vs2010里会编译报错,只有VS2012才能顺利通过,如果在vs2010中使用的话需要先编译生成xap,然后解压出WMAppManifest.xml,修改后再重新打包进去…

但是这段说明在中文版的MSDN文档(http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/jj720574(v=vs.105).aspx)里被删除了

而且我在vs2010中测试那段代码加和不加没什么区别…难道是beta版的时候的要求么?

最后看看效果:

源码:

参考:

http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/jj720574(v=vs.105).aspx

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj720574(v=vs.105).aspx

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206971(v=vs.105).aspx

http://blogs.msdn.com/b/lmoroney/archive/2013/01/28/create-a-windows-phone-7-flip-tile-and-update-it-to-windows-phone-8-style-using-the-windows-phone-7-8-sdk.aspx

转载于:https://www.cnblogs.com/sun8134/archive/2013/02/04/2892421.html

WindowsPhone 7.8 Tiles 1 : WideTile相关推荐

  1. WindowsPhone 7.8 Tiles 3 : 7.8的Tiles利器mangopollo

    mangopollo:http://mangopollo.codeplex.com/ 利用mangopollo可以让我们在7.8方便的创建live tiles- Mangopollo will all ...

  2. 泛谈移动互联时代的交互设计师

    之所以"泛谈",是觉得移动互联时代对交互设计师的要求,想用一个观念来概括一下还真不易:功能小而美.信息可视化.扁平化设计.紧贴用户习惯·········.不过在现实面前,面对各方面 ...

  3. SpringMVC集成Tiles布局引擎框架

    Tiles布局框架, http://tiles.apache.org/ Spring已经对Tiles进行了集成.页头页尾公共模板页要靠这个,不然重复代码太多. <dependency>&l ...

  4. Apache Tiles 学习(四)、Tiles实战

    为什么80%的码农都做不了架构师?>>>    1.创建maven项目 New-->Maven Project--> 勾选上Create a simple project ...

  5. WindowsPhone基础琐碎总结-----数据绑定(一)

    一.什么是数据绑定     官方这样解释:数据绑定是在应用程序 UI 与业务逻辑之间建立连接的过程.简单的理解就是通过数据绑定的方式实现了后台数据和前台UI元素的关联,可以比喻成UI元素和数据源的桥梁 ...

  6. 掌握Tiles框架 (二)-- Tiles布局和定义

    1. Tile 布局 构建第一个 tile 布局 如果站点能够重用相同的布局(使用 HTML 表格来实现)和图像,而不必重复相同的 HTML 代码,这样不是很好吗? Tile 在为站点创建共同的外观方 ...

  7. windowsphone开发_[app开发定制公司]开发app需要什么技术呢?

    [app开发定制公司]开发app需要什么技术呢?APP开发公司为一些人介绍app开发有哪些开发方式,不同类型的APP需要用到哪些开发语言和开发操作系统,企业或者个人用户可以根据自己的需求选择不同的ap ...

  8. Tiles Framework

    tiles framework 详解tiles framework 详解 就是一个页面模版引擎.可以渲染页面,属于视图层. 下面给你拷贝一份详细的tiles介绍,你可以初步了解一下. Tiles框架特 ...

  9. Windows Phone 8.1 Tiles, Notifications and Action Center

    (1)Tiles Tiles 也就是磁贴,是 Windows Phone 的一大特色. 一个 Tile 其实可以看成是一个 XML,比如: <tile><visual>< ...

最新文章

  1. HDLBits 系列(6)(Reduction)缩位运算符
  2. 杭电2030java做法_杭电ACM2040java做法
  3. 计算机仿真氢光谱实验,氢氘灯光谱实验报告..docx
  4. Delphi中TVarRec做为参数的用法
  5. Latex的表格注释
  6. VB讲课笔记12:文件管理
  7. python类的应用_python中文件类的应用
  8. Angualr 输入文本框监听enter回车键和esc键方法使用(附常用的键盘事件对应的键码)
  9. linux 安装Curl
  10. phpquery中文手册
  11. 线性分类器三种最优准则
  12. redis key设计技巧
  13. “一切融一”iGame G-ONE发布会邀请函曝光
  14. HIT-2022年春季学期《软件构造》Lab 1实验心得
  15. 微信小程序 - 数据转excel下载并复制链接
  16. 计算机培训有假期吗,教师假期计算机培训心得体会
  17. 软件已删除,但在控制面板里还有,就是删不掉.怎么办?
  18. web的首屏加载优化
  19. 发展数字经济具有重要意义
  20. nas系统存储服务器,企业搭建NAS存储服务器的三部曲,你都清楚嘛?

热门文章

  1. mysql5.7 修改密码
  2. oracle 月份期差,Oracle Database 日期算术-日期之间的月份或年份之间的差异
  3. python查询mysql 乱码问题_python查询mysql中文乱码问题
  4. 观察者设计模式 php,PHP设计模式 - 观察者模式
  5. mysql下载备份数据库命令行,如何从MariaDB数据库备份和还原命令行
  6. 如何获取某个标签下所有的元素id_D3库实践笔记之元素定位与数据绑定 |可视化系列33...
  7. python怎么调用方法_python中怎么调用自己的方法
  8. kafka+zookeeper安装配置
  9. ubuntu安装jdk,ubuntu设置java环境变量
  10. 爬虫工程师是干什么的?你真的知道了吗?