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
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Reactive form tipizzati con modellazione del FormBuilder in Angular
Creare un webhook in Azure DevOps
C# 12: Cosa c'è di nuovo e interessante
Usare le variabili per personalizzare gli stili CSS
Usare una container image come runner di GitHub Actions
Implementare l'infinite scroll con QuickGrid in Blazor Server
Implementare il throttling in ASP.NET Core
Le novità di Angular: i miglioramenti alla CLI
Short-circuiting della Pipeline in ASP.NET Core
Come migrare da una form non tipizzata a una form tipizzata in Angular
Copiare automaticamente le secret tra più repository di GitHub
I più letti di oggi
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Estrarre dati randomici da una lista di oggetti in C#
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione