windowsphone8.1学习笔记之磁贴
磁贴,wp系统独有。个人觉得还是蛮给力的。
好了废话不多说,我们来创建自己的辅助磁贴。创建磁贴是通过SecondaryTile对象来的,所以先说说该对象的一些重要属性。
Arguments属性:传值用的,就是将磁贴的相关参数传递给应用,从而让应用识别是哪个磁贴点击进入的。
BackgroupColor属性,这个属性看名字应该都很熟悉了,是磁贴的背景色。
DisplayName属性:磁贴左下角的文字信息。
VisualElements属性:设置磁贴的可视化属性的显示情况。
TileId属性:表示磁贴的唯一标识,可以通过这个TileId来判断磁贴是否存在和获取磁贴对象。
SamlLogo、Logo和WideLogo属性:它们分别表示小、中、宽三种磁贴对应的图片地址
Uri square71x71Logo = new Uri("ms-appx:///Assets/Square71x71Logo.scale-240.png"); Uri square150x150Logo = new Uri("ms-appx:///Assets/Logo.scale-240.png"); Uri wide310x150Logo = new Uri("ms-appx:///Assets/WideLogo.scale-240.png"); string tileId = "App1"; string tileArguments = "tileId" + " WasPinnedAt=" + DateTime.Now.ToLocalTime().ToString(); SecondaryTile secondaryTile = new SecondaryTile(tileId, "TitleTest", tileArguments, square150x150Logo, TileSize.Square150x150); secondaryTile.VisualElements.Wide310x150Logo = wide310x150Logo; secondaryTile.VisualElements.Square150x150Logo = square150x150Logo; secondaryTile.VisualElements.Square71x71Logo = square71x71Logo; secondaryTile.VisualElements.ShowNameOnSquare150x150Logo = true; secondaryTile.VisualElements.ShowNameOnWide310x150Logo = true; bool isPinned = await secondaryTile.RequestCreateAsync();
提醒一下
磁贴的其他操作:
//第一种 if(SecondaryTile.Exists(tileId)) { //存在该tileId的磁贴,就可以通过tileId来创建磁贴 SecondaryTile secondaryTile = new SecondaryTile(tileId) //删除磁贴 bool isDelete = await secondaryTile.RequestDeleteAsync(); //更新磁贴 secondaryTile.DisplayName="Update Tile"; bool success = await secondaryTile.UpdateAsync(); } //第二种 IReadOnlyList<SecondaryTile> tileList = await SecondaryTile.FindAllAsync(); foreach(var tile in tileList) { ...... }
以上都是废话,我们来看看辅助磁贴的实际应用,举个简单例子(自己的理解,不对请留言),wp版的搜狐新闻,我们随意点一个自己订阅的频道,可以看到如图红箭头所示的按钮,
点击即可在‘开始’屏幕生成如下图所示的辅助磁贴,这时你点击该磁贴,你就会直接进入搜狐视频的热播页,当然你能直接进入热播页是因为SecondaryTile的Arguments的值起了至关重要的作用
如下:
<Grid> <Button Click="Button_Click" HorizontalAlignment="Center" VerticalAlignment="Center" Content="创建一个磁贴" /> <TextBox Name="TestBox" TextWrapping="Wrap" /> </Grid> //创建磁贴时设置SecondaryTile的Arguments的值string tileArguments = "进入视频热播页面";SecondaryTile secondaryTile = new SecondaryTile(tileId, "Test", tileArguments, square150x150Logo, TileSize.Square150x150); protected override void OnNavigatedTo(NavigationEventArgs e){ TestBox.Text = e.Parameter.ToString();}
点击创建磁贴后,退出程序,再点击磁贴,运行效果如下
好了辅助磁贴就简单说到这儿。
我们再来说说动态磁贴,即磁贴通知。上篇我们提到了Toast通知,简单说下它和磁贴通知。
磁贴通知只能在磁贴上显示而且必须有磁贴,没有声音或者振动,但可以设置其显示的时间。Toast通知的显示只有几秒钟,是弹出式的提醒。创建方式和步骤两者相似,就不再详述。
创建磁贴通知步骤:
1、获取此贴通知模板
2、添加内容
3、创建磁贴通知对象
4、更新磁贴通知
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150PeekImageAndText02); XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text"); tileTextAttributes[].InnerText = "waha"; tileTextAttributes[].InnerText = "测试磁贴"; XmlNodeList tileIamgeAttributes = tileXml.GetElementsByTagName("image"); ((XmlElement)tileIamgeAttributes[]).SetAttribute("src", "ms-appx:///Assets/Logo.scale-240.png"); TileNotification tileNotification = new TileNotification(tileXml); tileNotification.ExpirationTime = DateTimeOffset.UtcNow.AddDays(); TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
CreateTileUpdaterForApplication方法重载如下,参数为tileId时,可以更新指定的辅助磁贴。
好了,关于磁贴就说这么多,吃饭去!
windowsphone8.1学习笔记之磁贴的更多相关文章
- windowsphone8.1学习笔记之Toast通知
熟悉或者了解wp系统的人都知道wp的Toast,Toast(吐司)通知是在屏幕最顶上弹出来的提示框,它专为与锁屏提醒.磁贴通知和应用中UI结合使用而设计,但它不是MessageDialog.说简单点它 ...
- windowsphone8.1学习笔记之位图编程
说位图,先把image控件简单过下,Image的Source设置 <Image Name="img" Source="可以是网络图片的Uri.应用文件的Uri或者安 ...
- windowsphone8.1学习笔记之应用数据(四)
应用数据的存储格式常用的分为json和xml两种(其实我都想略过这个地方的,json我一直用的是json.net,而wp上操作xml的方式与其他相比也没太多变化). 先说说json数据存储,关于jso ...
- windowsphone8.1学习笔记之应用数据(三)
之前说了如何操作文本文件,如果是图片文件或者其他的二进制文件则需要操作文件的Stream或者Buffer数据.就需要用到DataReader和DataWriter这两个类了,这个的好好的练一下,以后的 ...
- windowsphone8.1学习笔记之应用数据(二)
上一篇说了应用数据的应用设置,这篇说说应用文件,应用文件主要分为三种:本地应用文件.漫游应用文件和临时应用文件. 获取根目录方法如下,都是返回一个StorageFolder对象(稍后介绍这个). // ...
- windowsphone8.1学习笔记之应用数据(一)
数据存储分为两种:云存储和应用数据(即本地存储),wp中的应用数据分为两种,一种是应用设置:一种是应用文件.wp的数据相关都是通过ApplicationData来实现,一个程序只有数据存储区. 先说应 ...
- Windows phone 8 学习笔记(5) 图块与通知(转)
基于metro风格的Windows phone 8 应用提到了图块的概念,它就是指启动菜单中的快速启动图标.一般一个应用必须有一个默认图块,还可以有若干个次要图块.另外,通知与图块的关系比较密切,我们 ...
- Windows phone 8 学习笔记(5) 图块与通知
原文:Windows phone 8 学习笔记(5) 图块与通知 基于metro风格的Windows phone 8 应用提到了图块的概念,它就是指启动菜单中的快速启动图标.一般一个应用必须有一个默认 ...
- Microsoft Power BI 学习笔记
Power Bi 学习笔记 一 Power BI 是微软发布的一系列的软件服务.应用和连接器,这些软件服务.应用和连接器协同工作,将不相关的数据源转化为合乎逻辑.视觉上逼真的交互式见解. ...
随机推荐
- 【Java】Java_02环境配置
JDK是什么?JRE是什么?JDK和JRE的区别? Java Runtime Environment (JRE) 包含: Java虚拟机.库函数.运行Java应用程序和Applet所必须文件 Java ...
- Anaconda(Spyder)使用Tensorflow
按照上篇文安装成功后,每次使用TensorFlow的时候需要激活conda环境. 在正常情况下,是Anaconda的bin路径在环境变量中,但激活conda-tensorflow环境后,环境变量中存储 ...
- DMA摘记
1.特点 PIO模式下硬盘和内存之间的数据传输是由CPU来控制的:而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上 ...
- leetcode_Power of Two_easy
Given an integer, write a function to determine if it is a power of two. 题目意思:推断某个数是否是2的幂. 方法:直接进行bi ...
- java - day05 - Array
/* 生成随机数组,寻找最大值 */ package day05; public class ArrayGuess { public static void main(String args[]) { ...
- redhat5.8下oracle11g启动失败
# redhat5.8下oracle11g启动失败 ### 日志文件路径-----------------------------tail -f /u01/app/oracle/product/11. ...
- git设置及常用命令
下载 下载地址:https://git-scm.com/downloads windows系统安装 默认安装即可. 其它系统安装方式请自行百度,网上教程很多. 设置 windows桌面右键,选择Git ...
- UICollectionView的简单认识和简单实用
摘要 UICollectionView是比UITableView更加复杂的UI控件,通过它可以实现许多复杂的流布局.但对我们来说,系统提供的接口十分简单易用,并且有十分强的制定性. iOS流布局UIC ...
- 解决Bootstrap 试用手机端 布满全屏
@media (max-width: 767px) { body{ margin: 0; padding: 0; } } @media (max-width: 970px) { body{ margi ...
- xilinx 赛灵思fpga verilog hdl 教程
http://www.eefocus.com/article/08-03/37231s.html http://wenku.baidu.com/link?url=5mdkMmm4BGGi7gRdgSk ...