熟悉或者了解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就简单的说到这儿。

最新文章

  1. 【ORACLE】字符串操作 B字符串时A的一部分
  2. MongoDB游标操作(4)
  3. Shell练习
  4. hdu1247 Hat’s Words
  5. mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值
  6. jquery mobile 请求数据方法执行时显示加载中提示框
  7. css笔记12:块元素和行内元素
  8. python 生成排列、组合以及选择
  9. WCF 无法生成 client
  10. PDF转图片 C# with Adobe API
  11. ORACLE复制数据库【weber出品】
  12. win7如何清理图标缓存
  13. PL/SQL Developer 连接Oracle数据库详细配置方法
  14. textarea内容太多, 鼠标点击全部显示
  15. SD卡读写扇区注意事项(转)
  16. Swift数组字面量
  17. c++ 中lambda
  18. Why Helm? - 每天5分钟玩转 Docker 容器技术(160)
  19. freeswitch reloadxml 出错
  20. js对input框的可编辑属性设置

热门文章

  1. Java中的回调函数学习-深入浅出
  2. 关于web后门权限防删的一个新思路
  3. Laravel之加密解密/日志/异常处理及自定义错误
  4. Github 的一个免费编程书籍列表
  5. linux服务器性能检测工具nmon使用
  6. SQLserver备份数据库示例
  7. DNS原理及其解析过程【精彩剖析】
  8. E - Hangover(1.4.1)
  9. Laravel 数据库实例教程 —— 使用DB门面操作数据库
  10. html中keydown事件