熟悉或者了解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. jstl fn:replace替换换行符

    textarea输入换行符后应该是'\n',在div中展示时替换成'<br>' 找到一种方法用jsp标签 jstl fn:replace方法 使用fn:replace方法之前 先要把jst ...

  2. Git历险记(二)——Git的安装和配置

    各位同学,上回Git历险记(一)讲了一个 “hello Git” 的小故事.有的同学可能是玩过了其它分布式版本控制系统(DVCS),看完之后就触类旁通对Git就了然于胸了:也有的同学可能还如我当初入手 ...

  3. 10g full join 优化

    今天一个女生咨询我报名学优化.聊着聊着就让我优化一个sql 由于怕泄密,所以删除了 sql . 不好意思 该sql是 olap 的, 在oracle10g 上面跑.跑一次要33秒钟.一般olap报表. ...

  4. Java三大器之拦截器(Interceptor)的实现原理及代码示例

    1,拦截器的概念    java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了 ...

  5. How to use Variables in different component

    1. In Script Task component Set Value: Dts.Variables["ErrorMsg"].Value = string.Format(&qu ...

  6. acd - 1403 - Graph Game(博弈 + 二分图最大匹配)

    题意:N与P在玩游戏,N有 n1 个点,P有 n2 个点,N的点与P的点之间有 m 条无向边.将一个石子放在当中一点.N先移动石子.沿边移动一次,石子移动前的点及与该点相连的边被删除.接着到P移动石子 ...

  7. quick-cocos2d-x教程9:实例之加上背景图片

    在梳理完quick-cocos2d-x框架的各个文件夹后,我们開始我们的实例教程,在helloworld后面.加上一张图片,lua编辑器,我用的lua editor.还不错. 我们首先还是參照教程.创 ...

  8. TCP/IP详解 卷一(第十二章 广播和多播)

    广播和多播仅应用于UDP. 广播指的是一个主机向网上的所有其他主机发送帧,而 多播仅发送给属于多播组的多个主机. 为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程 1.首先,网卡查看由信道 ...

  9. 51单片机 | 实现SMC1602液晶屏显示实例

    ———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - - - - - ...

  10. MySql RESTRICT CASCADE SET NULL

    主表,从表[MySql] //http://my.oschina.net/cart/blog/277624 空.RESTRICT.NO ACTION 删除:从表记录不存在时,主表才可以删除.删除从表, ...