/// <summary> /// Shows the message to the user. /// </summary> /// <param name="Parent"></param> /// <param name="Message">The message to show.</param> /// <param name="glw">Color of the glow.</param> /// <param name="delay">The time before the message to disappear, in Milliseconds.</param> /// <param name="Fonte"></param> /// <param name="redBackground"></param> /// <remarks></remarks> public static void Show(Form Parent, string Message, Color glw, ToastDelay delay, Font Fonte = null, bool redBackground = false) { Show(Parent, Message, glw, (int)delay, Fonte, redBackground); }
/// <summary> /// Affichage d'un toast /// </summary> /// <param name="toastType"></param> /// <param name="text"></param> /// <param name="imagePath"></param> /// <param name="delay"></param> public static void Toasting(ToastTemplateType toastType, string[] text, string imagePath = "", ToastDelay delay = ToastDelay.Short) { // Obtention du modèle XML var toastXML = toastType; XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastXML); // Textes XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text"); // Il peut y avoir plusieurs noeuds en fonction du template utilisé // Il y a toujours un noeud "texte" toastTextElements[0].AppendChild(toastXml.CreateTextNode(text[0] ?? "")); switch (toastType) { // Ces templates n'ont que deux noeuds de texte case ToastTemplateType.ToastText02: case ToastTemplateType.ToastImageAndText02: case ToastTemplateType.ToastText03: case ToastTemplateType.ToastImageAndText03: toastTextElements[1].AppendChild(toastXml.CreateTextNode(text[1] ?? "")); break; // Ces templates ont trois noeuds de texte case ToastTemplateType.ToastText04: case ToastTemplateType.ToastImageAndText04: toastTextElements[1].AppendChild(toastXml.CreateTextNode(text[1] ?? "")); toastTextElements[2].AppendChild(toastXml.CreateTextNode(text[2] ?? "")); break; } XmlNodeList toastImageElements = toastXml.GetElementsByTagName("image"); if (toastImageElements.Count > 0) { try { new Uri(@"ms-appx:///" + imagePath, UriKind.RelativeOrAbsolute); } catch (Exception ex) { return; } // Il n'y a qu'un seul noeud en ce qui concerne les images ((XmlElement)toastImageElements[0]).SetAttribute("src", @"ms-appx:///" + imagePath); ((XmlElement)toastImageElements[0]).SetAttribute("alt", @"> Notification <"); } // Temps: on obtient l'élement root du XML et on ajoute l'information à propos de la durée IXmlNode toastRoot = toastXml.SelectSingleNode("/toast"); ((XmlElement)toastRoot).SetAttribute("duration", delay.ToString()); // Paramètres de lancement ((XmlElement)toastRoot).SetAttribute("launch", "{\"type\":\"toast\"}"); // Affichage ToastNotification notification = new ToastNotification(toastXml); ToastNotificationManager.CreateToastNotifier().Show(notification); }