Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un badge di notifica fornisce informazioni di riepilogo o di stato specifiche per la tua app. Possono essere numerici (1-99) o uno di un set di glifi forniti dal sistema. Esempi di informazioni meglio trasmesse tramite una notifica includono lo stato della connessione di rete in un gioco online, lo stato utente in un'app di messaggistica, il numero di messaggi non letti in un'app di posta elettronica e il numero di nuovi post in un'app di social media.
Le notifiche vengono visualizzate sull'icona della barra delle applicazioni dell'app e nell'angolo in basso a destra del riquadro iniziale, indipendentemente dal fatto che l'app sia in esecuzione. I badge possono essere mostrati in tutte le dimensioni dei riquadri.
Note
Non è possibile fornire un'immagine badge personalizzata; è possibile usare solo immagini badge fornite dal sistema.
Badge numerici
| Value | Badge | XML |
|---|---|---|
| Un numero compreso tra 1 e 99. Il valore 0 equivale al valore del glifo "nessuno" e cancella il badge. |
|
<badge value="1"/> |
| Qualsiasi numero maggiore di 99. |
|
<badge value="100"/> |
Badge del glifo
Anziché un numero, un badge può visualizzare uno dei glifi di stato non estendibili.
| Status | Glyph | XML |
|---|---|---|
| none | (Nessun badge visualizzato.) | <badge value="none"/> |
| activity |
|
<badge value="activity"/> |
| alarm |
|
<badge value="alarm"/> |
| alert |
|
<badge value="alert"/> |
| attention |
|
<badge value="attention"/> |
| available |
|
<badge value="available"/> |
| away |
|
<badge value="away"/> |
| busy |
|
<badge value="busy"/> |
| error |
|
<badge value="error"/> |
| newMessage |
|
<badge value="newMessage"/> |
| paused |
|
<badge value="paused"/> |
| playing |
|
<badge value="playing"/> |
| unavailable |
|
<badge value="unavailable"/> |
Impostare un badge in un'app SDK per app di Windows
A partire da SDK per app di Windows 1.7, usare la classe BadgeNotificationManager nello spazio dei nomi Microsoft.Windows.BadgeNotifications per impostare e cancellare i badge. Questo è l'approccio consigliato per SDK per app di Windows app. Anziché compilare un payload XML, chiami un metodo e passi un numero o un valore BadgeNotificationGlyph.
- API importanti: classe BadgeNotificationManager, enumerazione BadgeNotificationGlyph
![]()
L'app Raccolta WinUI 3 include esempi interattivi di controlli e funzionalità WinUI. Ottenere l'app dal Microsoft Store o esplorare il codice sorgente in GitHub.
Important
BadgeNotificationManager richiede l'identità del pacchetto. Se l'app non ha un'identità del pacchetto, ad esempio perché non è pacchettizzata, le chiamate a SetBadgeAsCount, SetBadgeAsGlyph e ClearBadge generano un'eccezione. Per altre info, vedi Panoramica dell'identità del pacchetto nelle app Windows.
Il badge viene visualizzato sull'icona della barra delle applicazioni dell'app. Se l'app viene aggiunta alla barra delle applicazioni, il badge viene visualizzato anche quando l'app non è in esecuzione. Per ottenere l'istanza BadgeNotificationManager per la tua app, usa la proprietà Current.
Gli esempi seguenti sono basati sull'esempio di WinUI 3 Gallery. Per usarle, aggiungere una using Microsoft.Windows.BadgeNotifications; direttiva al file di codice.
Impostare un badge numerico
Chiamare SetBadgeAsCount e passare il numero da visualizzare. Se il numero è maggiore di 99, il badge mostra "99+".
private void SetBadgeCountButton_Click(object sender, RoutedEventArgs e)
{
// Show the number 5 on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsCount(5);
}
Impostare un badge glifo
Chiamare SetBadgeAsGlyph e passare un BadgeNotificationGlyph valore. I valori di enumerazione corrispondono ai glifi nella tabella dei badge Glyph.
private void SetBadgeGlyphButton_Click(object sender, RoutedEventArgs e)
{
// Show the alert glyph on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsGlyph(BadgeNotificationGlyph.Alert);
}
Cancella il badge
Chiama ClearBadge per rimuovere il badge. L'impostazione di un conteggio pari a 0 o del BadgeNotificationGlyph.None glifo cancella anche il badge.
private void ClearBadgeButton_Click(object sender, RoutedEventArgs e)
{
BadgeNotificationManager.Current.ClearBadge();
}
Creare un badge con l'API BadgeUpdateManager UWP
Questi esempi usano la classe BadgeUpdateManager nel namespace Windows Runtime Windows.UI.Notifications, ovvero l'API badge per le app UWP. Il badge viene compilato come payload XML usando i valori nelle tabelle precedenti. Se l'app usa SDK per app di Windows 1.7 o versione successiva, usa BadgeNotificationManager invece.
Creare un badge numerico
private void setBadgeNumber(int num)
{
// Get the blank badge XML payload for a badge number
XmlDocument badgeXml =
BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
// Set the value of the badge in the XML to our number
XmlElement badgeElement = badgeXml.SelectSingleNode("/badge") as XmlElement;
badgeElement.SetAttribute("value", num.ToString());
// Create the badge notification
BadgeNotification badge = new BadgeNotification(badgeXml);
// Create the badge updater for the application
BadgeUpdater badgeUpdater =
BadgeUpdateManager.CreateBadgeUpdaterForApplication();
// And update the badge
badgeUpdater.Update(badge);
}
Creare un badge per glifi
private void updateBadgeGlyph()
{
string badgeGlyphValue = "alert";
// Get the blank badge XML payload for a badge glyph
XmlDocument badgeXml =
BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
// Set the value of the badge in the XML to our glyph value
Windows.Data.Xml.Dom.XmlElement badgeElement =
badgeXml.SelectSingleNode("/badge") as Windows.Data.Xml.Dom.XmlElement;
badgeElement.SetAttribute("value", badgeGlyphValue);
// Create the badge notification
BadgeNotification badge = new BadgeNotification(badgeXml);
// Create the badge updater for the application
BadgeUpdater badgeUpdater =
BadgeUpdateManager.CreateBadgeUpdaterForApplication();
// And update the badge
badgeUpdater.Update(badge);
}
Rimuovere un badge
private void clearBadge()
{
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
}
Scaricare il codice di esempio
-
Esempio di notifiche di SDK per app di Windows
Illustra come inviare notifiche dell'app e aggiornamenti badge.