熟悉或者了解wp系统的人都知道wp的Toast,Toast(吐司)通知是在屏幕最顶上弹出来的提示框,它专为与锁屏提醒、磁贴通知和应用中UI结合使用而设计,但它不是MessageDialog。说简单点它可以在打开应用的时候弹出也可以在应用关闭的时候弹出,不是重要的信息别用Toast。

要使用Toast,必须先在Package.appxmanifest中进行设置

然后如下,将“支持Toast通知”设为“是”,如果你用的是英文版的vs,“Application”-->"Notifications"-->“Toast capable”,设为“Yes”。

接下来贴一个小例子:

//参数是枚举,用来获取系统的模板
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01);
//下面是一些xml的操作,就不多说明
XmlNodeList elements = toastXml.GetElementsByTagName("text");
elements[].AppendChild(toastXml.CreateTextNode("a sample toast"));
//创建并初始化,然后显示
ToastNotification toast = new ToastNotification(toastXml);
ToastNotificationManager.CreateToastNotifier().Show(toast);

如果你要查看模板中的xml,可以如下

var Template = toastXml.GetXml();

上例中ToastText01模板的Xml为

好了,我们再回顾下创建Toast的步骤:

1.我们得先获取模板,当然也可以自己用字符串拼出模板,注意节点貌似都是固定的,不识别自定义

//binding 中的template属性的值必须是已有的系统模板即必须跟枚举值相同,如果是其他的则会弹出New notification
//至于如何自定义模板我还不知道,有知道的请留言
string ToastXml = "<toast>"
    +"<visual>"
    + "<binding template='ToastText01'>"
    + "<text id='1'>"+DateTime.Now.ToString()+"</text>"
    +"</binding>"
    +"</visual>"
    +"</toast>";
XmlDocument toastXml = new XmlDocument();
toastXml.LoadXml(ToastXml);

ToastNotification toast = new ToastNotification(toastXml);
ToastNotificationManager.CreateToastNotifier().Show(toast);

2.填写要弹出的内容

3.创建Toast对象

4.弹出

在应用离开前台时,我们可以使用定期Toast(ScheduledToastNotification类)来弹出消息,即通过预设一个时间点,然后在这个时间点弹出Toast通知,如果应用不在前台运行,用可以通过点击Toast通知直接进入当前的应用。

XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01);
XmlNodeList elements = toastXml.GetElementsByTagName("text");
elements[].AppendChild(toastXml.CreateTextNode("a sample toast"));
//这是定时Toast
//基本步骤都相同,不同是我们需要预设一个时间和调用的弹出方法不同
DateTime dt = DateTime.Now.AddSeconds();
ScheduledToastNotification toast = new ScheduledToastNotification(toastXml, dt);
ToastNotificationManager.CreateToastNotifier().AddToSchedule(toast);

//这是前台运行才能弹出的Toast
//ToastNotification toast = new ToastNotification(toastXml);
//ToastNotificationManager.CreateToastNotifier().Show(toast);

效果如下:

好了,关于Toast就简单的说到这儿。

windowsphone8.1学习笔记之Toast通知的更多相关文章

  1. iOS学习笔记22-推送通知

    一.推送通知 推送通知就是向用户推送一条信息来通知用户某件事件,可以在应用退到后台后,或者关闭后,能够通过推送一条消息通知用户某件事情,比如版本更新等等. 推送通知的常用应用场景: 一些任务管理APP ...

  2. windowsphone8.1学习笔记之磁贴

    磁贴,wp系统独有.个人觉得还是蛮给力的. 好了废话不多说,我们来创建自己的辅助磁贴.创建磁贴是通过SecondaryTile对象来的,所以先说说该对象的一些重要属性. Arguments属性:传值用 ...

  3. android学习笔记---发送状态栏通知

    发送消息的代码如下: //获取通知管理器 NotificationManager mNotificationManager = (NotificationManager) getSystemServi ...

  4. C#学习笔记之线程 - 通知Signal

    通知事件等待句柄 Signal With EventWaitHandle 事件等待句柄常用于通知.当一个线程等待直到接收到另外一个线程发出的信号.事件等待句柄是最简单的信号结构,它与C#事件无关.有三 ...

  5. Android学习笔记之Toast详解

    1. 贴一段Android API-Toast Toast public class Toast  extends Object java.lang.Object ↳ android.widget.T ...

  6. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring通知类型及使用ProxyFactoryBean创建AOP代理

    通知(Advice)其实就是对目标切入点进行增强的内容,Spring AOP 为通知(Advice)提供了 org.aopalliance.aop.Advice 接口. Spring 通知按照在目标类 ...

  7. Android学习笔记通过Toast显示消息提示框

    显示消息提示框的步骤 这个很简单我就直接上代码了: Button show = (Button)findViewById(R.id.show); show.setOnClickListener(new ...

  8. windowsphone8.1学习笔记之位图编程

    说位图,先把image控件简单过下,Image的Source设置 <Image Name="img" Source="可以是网络图片的Uri.应用文件的Uri或者安 ...

  9. windowsphone8.1学习笔记之应用数据(四)

    应用数据的存储格式常用的分为json和xml两种(其实我都想略过这个地方的,json我一直用的是json.net,而wp上操作xml的方式与其他相比也没太多变化). 先说说json数据存储,关于jso ...

随机推荐

  1. Vue自定义指令和路由

    一.自定义指令 除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令. 下面我们注册一个全局指令 v-focus,该指令的功能是在页面加载时,元素获得焦点: ...

  2. Java迭代器原理

    1迭代器模式 迭代器是一种设计模式,这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示. 一般实现方式如下:(来自)

  3. ECSHOP筛选属性修改title标题

    发现百度蜘蛛爬行网站时会爬行属性链接,而且会进行收录.可是ecshop系统制作的网站,在分类页点击属性筛选出产品时,网页title不会改变.这样就会造成大量title一样的页面,不利于优化.为此,在网 ...

  4. Ubuntu启动sshd服务

    1.Ubuntu主机安装ssh相关服务 openssh-client openssh-server 方法: sudo apt-get install openssh-client openssh-se ...

  5. Visual Studio 外请版本号管理插件 - AnkhSVN

    Visual Studio 外请版本号管理插件 - AnkhSVN 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致 ...

  6. S3:代理模式 Proxy

    为其他对象提供一种代理以控制对这个对象的访问. 使用场合: 1.远程代理:为一个对象在不同的地址空间提供局部代表,隐藏对象存在于不同地址空间的事实.2.虚拟代理:根据需要创建开销很大的对象,通过它来存 ...

  7. _.pick lodash

    http://lodash.think2011.net/pick _.pick(object, [props]) 创建一个从 object 中选中的属性的对象. 参数 object (Object) ...

  8. kettle入门(七) 之kettle增量方案(一)全量比对取增量-依据唯一标示

    引: ods有个project表来自于上游系统,数据量不大 十几万,下游系统须要此数据,而且须要每天提供截止当天的增量数据 要求每条数据给出数据变化时间及标示,即数据若是插入 有插入时间和插入标示 若 ...

  9. TCP/IP协议分析(推荐)

    一;前言 学习过TCP/IP协议的人多有一种感觉,这东西太抽象了,没有什么数据实例,看完不久就忘了.本文将介绍一种直观的学习方法,利用协议分析工具学习TCP/IP,在学习的过程中能直观的看到数据的具体 ...

  10. oracle经常使用函数(1)

    1.返回与指定的字符相应的十进制数 select ascii('A') A,ascii('z') a,ascii('12') 一打,ascii(' ') kg from dual; 2.返回与指定十进 ...