如何在UWP App中创建信息丰富的Toast通知

Zea*_*hah 8 c# windows-runtime uwp windows-10-universal

在我的应用程序中,我想告知用户特定操作何时执行,例如记录更新成功或添加了新记录,但是没有内置控件可以显示此类信息.是否有类似于UWP的Android Toast.makeText?

Dan*_*ski 21

是的,UWP有Toast Notifications :)

以下是显示简单通知的示例代码:

private void ShowToastNotification(string title, string stringContent)
{
        ToastNotifier ToastNotifier = ToastNotificationManager.CreateToastNotifier();
        Windows.Data.Xml.Dom.XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
        Windows.Data.Xml.Dom.XmlNodeList toastNodeList = toastXml.GetElementsByTagName("text");
        toastNodeList.Item(0).AppendChild(toastXml.CreateTextNode(title));
        toastNodeList.Item(1).AppendChild(toastXml.CreateTextNode(stringContent));
        Windows.Data.Xml.Dom.IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
        Windows.Data.Xml.Dom.XmlElement audio = toastXml.CreateElement("audio");
        audio.SetAttribute("src", "ms-winsoundevent:Notification.SMS");

        ToastNotification toast = new ToastNotification(toastXml);
        toast.ExpirationTime = DateTime.Now.AddSeconds(4);
        ToastNotifier.Show(toast);
}
Run Code Online (Sandbox Code Playgroud)

在本文中,您可以找到如何自定义它:

https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-adaptive-interactive-toasts

  • 但这不是信息丰富的 Toast 通知,如果用户忽略它,它会进入我不想进入的通知中心。 (2认同)