【WIN10】Toast 通知
2015-10-21 20:02
399 查看
DEMO下載:http://yunpan.cn/cFSLZQf5ePeTV 访问密码 1fce
效果圖:
View Code
問題:
edit、combox並不能指定提示信息,所以實用性並不是很大,用戶很難理解這個東東是用來幹什麼的。
在WP10(虛擬機)測試中,需要把通知框拉長才能看得到其它區域,所以這個功能也並不是非常實用,因為我認為用戶很少會去拉,除非這成為一個習慣。
關於使用後台任務去響應,這裡不作說明了,感覺沒什麼必要,想知道的,請參看博客:/article/4581659.html
1.顯示通知
使用xml確定通知內容。string xml = "<toast lang=\"zh-CN\">" + "<visual>" + "<binding template=\"ToastGeneric\">" + "<text>Toast通知测试</text>" + "<text>来个美女</text>" + "<image placement=\"appLogoOverride\" src=\"ms-appx:///Assets/ps.png\" />" + "<text>背景是PS的。</text>" + "</binding>" + "</visual>" + "</toast>"; // 创建XML文档 XmlDocument doc = new XmlDocument(); // 加载XML doc.LoadXml(xml); // 创建通知实例 ToastNotification notification = new ToastNotification(doc); // 单击响应 notification.Activated += OnNotification; // 显示通知 ToastNotifier nt = ToastNotificationManager.CreateToastNotifier(); nt.Show(notification);
效果圖:
private void OnNotification(ToastNotification sender, object args) { ToastActivatedEventArgs trueArgs = (ToastActivatedEventArgs)args; // 访问界面必须使用回调 this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, NotifiyCallback); Debug.WriteLine("[Toast] in OnNotification"); } private void NotifiyCallback() { notifyText.Text = "您单了通知 " + clickedNotifyCount.ToString(); ++clickedNotifyCount; } 不過這種方式會有缺陷,它的args,只能是 ToastActivatedEventArgs 類型,它只能獲取到 id 值,需要有複雜的 input 框,它是無法得到用戶輸入值的。 這個時候需要第二種方式。 2)使用App類進行函數,重載 OnActivated 函數: protected override void OnActivated(IActivatedEventArgs args) { base.OnActivated(args); if (args.Kind == ActivationKind.ToastNotification) { // 保證Frame被加載 MakeSureFrameExist(args.PreviousExecutionState); // 转换参数类型 ToastNotificationActivatedEventArgs toastArgs = (ToastNotificationActivatedEventArgs)args; if (toastArgs.Argument == "hate" || toastArgs.Argument == "love") { var name = toastArgs.UserInput["name"]; var city = toastArgs.UserInput["city"]; // do something. } Debug.WriteLine(string.Format("[Toast] in OnActivated-args:{0}", toastArgs.Argument)); } }
View Code
問題:
edit、combox並不能指定提示信息,所以實用性並不是很大,用戶很難理解這個東東是用來幹什麼的。
在WP10(虛擬機)測試中,需要把通知框拉長才能看得到其它區域,所以這個功能也並不是非常實用,因為我認為用戶很少會去拉,除非這成為一個習慣。
關於使用後台任務去響應,這裡不作說明了,感覺沒什麼必要,想知道的,請參看博客:/article/4581659.html
相关文章推荐
- JAVA数据类型学习总结
- 命令行安装卸载驱动服务
- [android]AlertDialog和AlertDialog.Builder
- AJAX responseXML 实例着重点的说明
- 洛谷1043 数字游戏
- 活动的启动模式
- 内存缓存 原理 实现
- 查看电脑中打开端口的命令
- 串口ISP方式下载单片机程序设计
- fatal error LNK1181: 无法打开输入文件“libcd.lib”
- Web Cryptography API
- swift-正则验证手机号码
- 项目开发,我的名字不可能这么可爱——开篇
- Python之继承
- Linux学习笔记-sed编辑器基础
- Jquery 操作 radio ,select 标签的操作
- sciTE 编译lua
- KMP算法next数组计算的理解——菜鸟福音
- 跨域问题解决方案(HttpClient安全跨域 & jsonp跨域)
- IOS学习 postNotificationName 消息传递详解