-
Notifications
You must be signed in to change notification settings - Fork 1
/
ToastHelper.cs
92 lines (74 loc) · 2.46 KB
/
ToastHelper.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System.Text;
using Windows.Data.Xml.Dom;
using Windows.Foundation.Collections;
using Windows.Foundation.Metadata;
using Windows.UI.Notifications;
namespace Helpers
{
public static class ToastHelper
{
public static ToastNotification PopToast(string title, string content)
{
return PopToast(title, content, null, null);
}
public static ToastNotification PopToast(string title, string content, string tag, string group)
{
var xml = $@"<toast activationType='foreground'>
<visual>
<binding template='ToastGeneric'>
</binding>
</visual>
</toast>";
var doc = new XmlDocument();
doc.LoadXml(xml);
var binding = doc.SelectSingleNode("//binding");
var el = doc.CreateElement("text");
el.InnerText = title;
binding.AppendChild(el);
el = doc.CreateElement("text");
el.InnerText = content;
binding.AppendChild(el);
return PopCustomToast(doc, tag, group);
}
public static ToastNotification PopCustomToast(string xml)
{
return PopCustomToast(xml, null, null);
}
public static ToastNotification PopCustomToast(string xml, string tag, string group)
{
var doc = new XmlDocument();
doc.LoadXml(xml);
return PopCustomToast(doc, tag, group);
}
[DefaultOverload]
public static ToastNotification PopCustomToast(XmlDocument doc, string tag, string group)
{
var toast = new ToastNotification(doc);
if (tag != null)
{
toast.Tag = tag;
}
if (group != null)
{
toast.Group = group;
}
ToastNotificationManager.CreateToastNotifier().Show(toast);
return toast;
}
public static string ToString(ValueSet valueSet)
{
var builder = new StringBuilder();
foreach (var pair in valueSet)
{
if (builder.Length != 0)
{
builder.Append('\n');
}
builder.Append(pair.Key);
builder.Append(": ");
builder.Append(pair.Value);
}
return builder.ToString();
}
}
}