Notification Toast avec Universal Windows Platform (UWP)

La mise en page XAML :

Quand l'utilisateur clique on exécute la fonction notifyBtnClick

HorizontalAlignment permet de centrer le bouton horizontalement.

<Page
    x:Class="Notifications.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Notifications"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    
    <Grid HorizontalAlignment="Center">
        <Button Content="Notifier" Click="notifyBtnClick"></Button>
    </Grid>
    
</Page>

Les données de la notification :

<toast launch="app-defined-string">
  <visual>
    <binding template ="ToastGeneric">
      <text>Titre de la notification</text>
      <text>Le texte de la notification</text>
    </binding>
  </visual>
</toast>

Vous pouvez consulter la documentation sur le schéma XML de toast

Le code C# :

using System;
using System.Xml.Linq;
using Windows.Data.Xml.Dom;
using Windows.UI.Notifications;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace Notifications
{
   
    public sealed partial class MainPage : Page
    {

        public const string toastCollectionId = "ToastCollection";

        public MainPage()
        {
            this.InitializeComponent();
        }

        private void notifyBtnClick(object sender, RoutedEventArgs e)
        {

            // charge le modèle de la notification
            XmlDocument xmlDocument = new XmlDocument();
            xmlDocument.LoadXml(XDocument.Load("Assets/notification.xml").ToString());


            // Le modèle de notification en chaîne de caractères
            /*var xmlToastView = "<toast launch=\"app-defined-string\">" +
                                     "<visual>" +
                                       "<binding template =\"ToastGeneric\">" +
                                         "<text>Titre de la Notification</text>" +
                                         "<text>" +
                                           "Le texte de la notification" +
                                         "</text>" +
                                       "</binding>" +
                                     "</visual>" +
                                   "</toast>";*/

            // Charge le modèle de notification avec la chaîne de caractères
            //xmlDocument.LoadXml(xmlToastView);

            // création de la notification avec le document XML
            var toastNotification = new ToastNotification(xmlDocument);

            // création du manager de notification
            var toastNotificationManager = ToastNotificationManager.CreateToastNotifier();

            // Affiche la notification
            toastNotificationManager.Show(toastNotification);

        }
    }
}

Vous pouvez soit charger le fichier ou soit directement en chaîne de caractères.

RĂ©sultat :

Commentaires