Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Значок уведомления передает сводку или сведения о состоянии, относящиеся к приложению. Они могут быть числовыми (1-99) или одним из наборов глифов, предоставляемых системой. Примеры сведений, которые лучше всего передаются с помощью значка, включают состояние сетевого подключения в онлайн-игре, состояние пользователя в приложении для обмена сообщениями, количество непрочитанных сообщений в почтовом приложении и количество новых записей в приложении социальных сетей.
Индикаторы уведомлений отображаются на значке панели задач приложения и в правом нижнем углу начальной плитки независимо от того, запущено ли приложение. Значки можно отображать на всех размерах плиток.
Замечание
Вы не можете указать свой собственный образ значка; Можно использовать только образы эмблемы, предоставляемые системой.
Числовые значки
| Ценность | Значок | XML |
|---|---|---|
| Число от 1 до 99. Значение 0 эквивалентно значению глифа none и очищает значок. |
|
<badge value="1"/> |
| Любое число больше 99. |
|
<badge value="100"/> |
Эмблемы Глифа
Вместо числа значок может отображать один из не расширяемых наборов глифов состояния.
| Состояние | Глиф | XML |
|---|---|---|
| none | (Значок не показан.) | <badge value="none"/> |
| активность |
|
<badge value="activity"/> |
| тревога |
|
<badge value="alarm"/> |
| предупреждение |
|
<badge value="alert"/> |
| внимание |
|
<badge value="attention"/> |
| доступен |
|
<badge value="available"/> |
| прочь |
|
<badge value="away"/> |
| занятый |
|
<badge value="busy"/> |
| ошибка |
|
<badge value="error"/> |
| новоеСообщение |
|
<badge value="newMessage"/> |
| Приостановлено |
|
<badge value="paused"/> |
| играющий |
|
<badge value="playing"/> |
| недоступный |
|
<badge value="unavailable"/> |
Установка бейджа в приложении Windows App SDK
Начиная с Windows App SDK 1.7, используйте класс BadgeNotificationManager в пространстве имен Microsoft.Windows.BadgeNotifications для задания и очистки значков уведомлений. Это рекомендуемый подход для приложений Windows App SDK. Вместо создания полезных данных XML вызывается метод и передается число или значение BadgeNotificationGlyph .
![]()
Приложение WinUI 3 Gallery содержит интерактивные примеры элементов управления и функций WinUI. Получите приложение из Microsoft Store или просмотрите исходный код в GitHub.
Important
BadgeNotificationManager требуется идентификатор пакета. Если у приложения нет удостоверения пакета, например потому что оно не упаковано, вызовы SetBadgeAsCount, SetBadgeAsGlyph и ClearBadge вызывают исключение. Дополнительные сведения см. в разделе "Общие сведения об идентификации пакета" в приложениях Windows.
Значок появляется на значке приложения на панели задач. Если приложение закреплено на панели задач, значок отображается даже в том случае, если приложение не запущено. Чтобы получить экземпляр BadgeNotificationManager для вашего приложения, используйте свойство Current.
Следующие примеры основаны на образце Gallery для WinUI 3. Чтобы использовать их, добавьте директиву using Microsoft.Windows.BadgeNotifications; в файл кода.
Установить числовой значок
Вызовите SetBadgeAsCount и передайте число для отображения. Если число больше 99, значок отображает "99+".
private void SetBadgeCountButton_Click(object sender, RoutedEventArgs e)
{
// Show the number 5 on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsCount(5);
}
Установить значок глифа
Вызовите SetBadgeAsGlyph и передайте значение BadgeNotificationGlyph. Значения перечисления соответствуют глифам в таблице значки глифов.
private void SetBadgeGlyphButton_Click(object sender, RoutedEventArgs e)
{
// Show the alert glyph on the app's taskbar icon.
BadgeNotificationManager.Current.SetBadgeAsGlyph(BadgeNotificationGlyph.Alert);
}
Очистить значок
Вызовите метод ClearBadge, чтобы удалить значок. Задание количества 0 или глифа BadgeNotificationGlyph.None также очищает значок.
private void ClearBadgeButton_Click(object sender, RoutedEventArgs e)
{
BadgeNotificationManager.Current.ClearBadge();
}
Создание значка с помощью API UWP BadgeUpdateManager
В этих примерах используется класс BadgeUpdateManager в пространстве имен среда выполнения WindowsWindows.UI.Notifications, который является API бейджей для приложений UWP. Вы создаете бейдж в виде XML-документа, используя значения из предыдущих таблиц. Если приложение использует Windows App SDK версии 1.7 или более поздней версии, используйте BadgeNotificationManager.
Создание числового значка
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);
}
Создание значка глифа
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);
}
Очистка значка
private void clearBadge()
{
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
}
Получите пример кода
-
Пример уведомлений пакета SDK для приложений Для Windows
Показывает, как отправлять уведомления приложения и обновления значков.
Связанные статьи
Windows developer