Il badge di notifica è quell'elemento che viene talvolta utilizzato dalle applicazioni per mostrare nella tile, oppure nella system tray, una informazione relativa allo stato dell'applicazione stessa. Spesso questi badge vengono utilizzati in formato numerico, per indicare, ad esempio, il numero di messaggi ricevuti, il numero di mail non lette e così via, come si può vedere dall'immagine:

I badge supportati dalla Universal Windows Platform sono anche di tipo glyph, ovvero una serie di icone e simboli che aiutano nel determinare in maniera più accurata altre tipologie di stato che l'applicazione può assumere. Il codice da scrivere per aggiungerne uno, è simile a quello già visto per la creazione di un badge numerico:
public void CreateBadgeGlyph(string glyph = "alert")
{
// recupero del template
var badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
// recupero del nodo
var badgeElement = badgeXml.SelectSingleNode("/badge") as XmlElement;
badgeElement.SetAttribute("value", glyph);
// creazione del badge
var badge = new BadgeNotification(badgeXml);
// creazione del badge updater per l'applicazione
var badgeUpdater = BadgeUpdateManager.CreateBadgeUpdaterForApplication();
// update del badge
badgeUpdater.Update(badge);
}In questo caso la variazione è rappresentata dal template, di tipo BadgeGlyph, ma la procedura è sempre la medesima: prima si recupera il template, quindi viene impostato, tramite l'elaborazione del template come formato XML, il nodo corrispondente al badge con il valore del simbolo, quindi viene creato un updater per l'applicazione e il badge viene inviato come una sorta di notifica al sistema operativo che si prenderà l'incarico di mostrarla nella tile e nella system tray.
Tra i glyph predisposti dal sistema operativo troviamo: activity, alarm, alert, attention, available, away, busy, error, newMessage, paused, playing e unavailable che servono principalmente per indicare lo stato di eventuali applicazioni di comunicazione (es. Skype), piuttosto che di musica (es. Groove) o di produttività.
Se il badge da mostrare è temporaneo, eventualmente è anche possibile eliminarlo quando non serve più tramite la funzione Clear sul BadgeUpdateManager:
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
DevSecOps per .NET: dalla teoria alla pratica
Gestione CSS in Blazor con .NET 9
Utilizzare WebJobs su Linux con Azure App Service
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Proteggere l'endpoint dell'agente A2A delle Logic App
Esporre un server MCP con Azure API Management
Personalizzare le pagine di errore su Azure App Service
Importare un servizio esterno in .NET Aspire
Ridurre il reflow ottimizzando il CSS
Evidenziare una porzione di testo in un pagina dopo una navigazione
Eliminare record doppi in Sql Server
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Le DirectInk API nella Universal Windows Platform
- Sfruttare una CDN con i bundle di ASP.NET
- Gli oggetti CallOut di Expression Blend 4.0
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Inserire le news di Punto Informatico nel proprio sito


