通知 – windows 8 metro app – toast notification
发布时间:2021-02-05 13:42:02 所属栏目:系统 来源:网络整理
导读:我正在使用Toast通知开发 Windows 8 metro风格的应用程序. (C#xaml组合) 我查看了MS metro样式示例代码,并尝试将其应用到我的项目中, 看起来我使用的代码完全相同,但我不知道为什么它不工作.. (没有错误,它构建成功但只是不起作用.) 我想要做的很简单: 有一
|
我正在使用Toast通知开发
Windows 8 metro风格的应用程序. (C#xaml组合)
(没有错误,它构建成功但只是不起作用.) 我想要做的很简单: 有一个按钮. 这就是我做的: namespace Application1
{
public sealed partial class BlankPage : Page
{
public BlankPage()
{
this.InitializeComponent();
Scenario2Init();
}
void Scenario2Init()
{
toastTest.Click += (sender,e) => { ToastAlarm(true); };
}
void ToastAlarm(bool loopAudio)
{
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
// Toasts can optionally be set to long duration by adding the 'duration' attribute
IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
((XmlElement)toastNode).SetAttribute("duration","long");
// This XmlNodeList will have two items since the template we are using has two text fields.
XmlNodeList stringElements = toastXml.GetElementsByTagName("text");
stringElements.Item(0).AppendChild(toastXml.CreateTextNode("Long Duration Toast"));
XmlElement audioElement = toastXml.CreateElement("audio");
if (loopAudio)
{
// Long-duration Toasts can optionally loop audio using the 'loop' attribute
audioElement.SetAttribute("src","ms-winsoundevent:Notification.Looping.Alarm");
audioElement.SetAttribute("loop","true");
stringElements.Item(1).AppendChild(toastXml.CreateTextNode("Looping audio"));
}
else
{
audioElement.SetAttribute("src","ms-winsoundevent:Notification.IM");
}
toastNode.AppendChild(audioElement);
ToastNotification toast = new ToastNotification(toastXml);
ToastNotificationManager.CreateToastNotifier().Show(toast);
//Scenario2OutputText.Text = toastXml.GetXml();
}
}
}
如果我单击按钮,则没有任何反应.为什么? 解决方法你的代码对我来说是正确的;我现在没有Win8和我在一起所以我无法测试它.但是,如果您在VS中的“Toast Capable”字段中启用了Toast,则可能需要检查应用程序的清单.希望这可以帮助.(编辑:瑞安网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

