Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una insignia de notificación transmite información de resumen o estado específica de tu aplicación. Pueden ser numéricos (1-99) o uno de un conjunto de glifos proporcionados por el sistema. Algunos ejemplos de información que mejor se transmiten a través de un distintivo incluyen el estado de conexión de red en un juego en línea, el estado del usuario en una aplicación de mensajería, el número de correos no leídos en una aplicación de correo y el número de nuevas publicaciones en una aplicación de redes sociales.
Los distintivos de notificación aparecen en el icono de la barra de tareas de la aplicación y en la esquina inferior derecha del icono de inicio, independientemente de si la aplicación se está ejecutando. Las insignias se pueden mostrar en todos los tamaños de mosaico.
Note
No puede proporcionar su propia imagen de distintivo; solo se pueden usar imágenes de distintivo proporcionadas por el sistema.
Emblemas numéricos
| Value | Badge | XML |
|---|---|---|
| Número comprendido entre 1 y 99. Un valor de 0 es equivalente al valor del glifo “none” y borrará la insignia. |
|
<badge value="1"/> |
| Cualquier número mayor que 99. |
|
<badge value="100"/> |
Distintivos de glifo
En lugar de un número, una insignia puede exhibir uno de un conjunto no extensible de glifos de estado.
| Status | Glyph | XML |
|---|---|---|
| none | (No se muestra ninguna insignia). | <badge value="none"/> |
| activity |
|
<badge value="activity"/> |
| alarm |
|
<badge value="alarm"/> |
| alert | Insignia de glifo que indica el estado de «alerta». | <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"/> |
Establecer un distintivo en una aplicación de SDK de Aplicaciones para Windows
A partir de SDK de Aplicaciones para Windows 1.7, use la clase BadgeNotificationManager en el Microsoft.Windows.BadgeNotifications espacio de nombres para establecer y borrar distintivos. Este es el enfoque recomendado para aplicaciones de SDK de Aplicaciones para Windows. En lugar de crear una carga XML, se llama a un método y se pasa un número o un valor BadgeNotificationGlyph .
- API principales: clase BadgeNotificationManager, enumeración BadgeNotificationGlyph
![]()
La aplicación Galería de WinUI 3 incluye ejemplos interactivos de características y controles winUI. Obtenga la aplicación desde el Microsoft Store o busque el código fuente en GitHub.
Importante
BadgeNotificationManager requiere la identidad del paquete. Si la aplicación no tiene identidad de paquete, por ejemplo, porque no está empaquetada, las llamadas a SetBadgeAsCount, SetBadgeAsGlyph y ClearBadge generan una excepción. Para obtener más información, consulta Introducción a la identidad del paquete en aplicaciones de Windows.
La insignia aparece en el icono de la barra de tareas de la aplicación. Si la aplicación está anclada a la barra de tareas, el distintivo aparece incluso cuando la aplicación no se está ejecutando. Para obtener la BadgeNotificationManager instancia de la aplicación, use la propiedad Current .
Los ejemplos siguientes se basan en el ejemplo de la galería de WinUI 3. Para usarlos, agregue una using Microsoft.Windows.BadgeNotifications; directiva a su archivo de código.
Establecer una insignia numérica
Llame a SetBadgeAsCount y pase el número que se va a mostrar. Si el número es mayor que 99, el indicador muestra "99+".
private void SetBadgeCountButton_Click(object sender, RoutedEventArgs e)
{
// Show the number 5 on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsCount(5);
}
Configurar una insignia de glifo
Llame a SetBadgeAsGlyph y pase un BadgeNotificationGlyph valor. Los valores de enumeración corresponden a los glifos de la tabla de distintivos de glifo .
private void SetBadgeGlyphButton_Click(object sender, RoutedEventArgs e)
{
// Show the alert glyph on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsGlyph(BadgeNotificationGlyph.Alert);
}
Borrar el distintivo
Llame a ClearBadge para quitar el distintivo. Al establecer un recuento de 0 o el BadgeNotificationGlyph.None glifo, también se borra el distintivo.
private void ClearBadgeButton_Click(object sender, RoutedEventArgs e)
{
BadgeNotificationManager.Current.ClearBadge();
}
Crear un distintivo con la API de BadgeUpdateManager para UWP
Estos ejemplos usan la clase BadgeUpdateManager en el espacio de nombres Windows RuntimeWindows.UI.Notifications, que es la API de distintivo para aplicaciones para UWP. El distintivo se crea como una carga XML mediante los valores de las tablas anteriores. Si la aplicación usa SDK de Aplicaciones para Windows 1.7 o posterior, use BadgeNotificationManager en su lugar.
Creación de un distintivo numérico
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);
}
Crear un distintivo de glifo
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);
}
Borrar un distintivo
private void clearBadge()
{
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
}
Obtención del código de ejemplo
-
Ejemplo de notificaciones de SDK de Aplicaciones para Windows
Muestra cómo enviar notificaciones de aplicaciones y actualizaciones de distintivos.