您的位置:首页 > 其它

【WIN10】Toast 通知

2015-10-21 20:02 399 查看
DEMO下載:http://yunpan.cn/cFSLZQf5ePeTV 访问密码 1fce

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: