Jelvényértesítések Windows-alkalmazásokhoz

Az értesítési jelvények az alkalmazásra vonatkozó összefoglaló vagy állapotinformációkat közvetítik. Ezek lehetnek numerikusak (1-99), vagy a rendszer által biztosított karakterjelek valamelyike. A jelvényen keresztül legjobban közvetített információk közé tartozik a hálózati kapcsolat állapota egy online játékban, a felhasználói állapot egy üzenetkezelő alkalmazásban, az olvasatlan levelek száma egy levelezőalkalmazásban, valamint a közösségimédia-alkalmazások új bejegyzéseinek száma.

Az értesítési jelvények az alkalmazás tálcáján és a kezdő csempe jobb alsó sarkában jelennek meg, függetlenül attól, hogy az alkalmazás fut-e. A jelvények minden csempeméreten megjeleníthetők.

Note

Nem adhat meg saját jelvényképet; csak rendszer által biztosított jelvényképek használhatók.

Numerikus jelvények

Value Badge XML
1 és 99 közötti szám. A 0 érték egyenértékű a "none" karakterjel értékével, és törli a jelvényt. 100-nál kisebb numerikus jelvényt. <badge value="1"/>
Bármely 99-nél nagyobb szám. Létezik egy 99-nél nagyobb numerikus jelvény. <badge value="100"/>

Ikonjelvények

Szám helyett a jelvény egy nem bővíthető állapotjelkészlet egyikét is megjelenítheti.

Status Glyph XML
none (Nem jelenik meg jelvény.) <badge value="none"/>
tevékenység A <badge value="activity"/>
alarm Egy karakterjelvény, amely a riasztás állapotát jelöli. <badge value="alarm"/>
figyelmeztetés A <badge value="alert"/>
attention Egy karakterjelvény, amely a <badge value="attention"/>
available A <badge value="available"/>
away Egy karakterjelvény, amely a <badge value="away"/>
busy A <badge value="busy"/>
hiba Egy karakterjelvény, amely a <badge value="error"/>
newMessage A <badge value="newMessage"/>
paused A <badge value="paused"/>
playing Egy karakterjelvény, amely a <badge value="playing"/>
unavailable Egy karakterjelvény, amely a <badge value="unavailable"/>

Jelvény beállítása Windows App SDK alkalmazásban

A Windows App SDK 1.7-től kezdve használja a BadgeNotificationManager osztályt a Microsoft.Windows.BadgeNotifications névtérben a jelvények beállításához és törléséhez. Ez az ajánlott módszer Windows App SDK alkalmazásokhoz. XML-adattartalom létrehozása helyett meghív egy metódust, és egy számot vagy egy BadgeNotificationGlyph értéket ad át.

WinUI 3 Katalógus ikon A WinUI 3 Katalógus alkalmazás interaktív példákat tartalmaz a WinUI vezérlőire és funkcióira. Kérje le az alkalmazást a Microsoft Áruházból vagy keresse meg a forráskódot a GitHub webhelyen.

Important

BadgeNotificationManager csomagidentitást igényel. Ha az alkalmazás nem rendelkezik csomagidentitással, például mert nincs becsomagolva, a SetBadgeAsCount, SetBadgeAsGlyph és ClearBadge hívásai kivételt váltanak ki. További információ: A csomagidentitás áttekintése Windows alkalmazásokban.

A jelzés megjelenik az alkalmazás tálcaikonján. Ha az alkalmazás rögzítve van a tálcán, a jelvény akkor is megjelenik, ha az alkalmazás nem fut. Az alkalmazás példányának BadgeNotificationManager lekéréséhez használja az Current tulajdonságot.

Az alábbi példák a WinUI 3 katalógusmintán alapulnak. A használatukhoz adjon hozzá egy using Microsoft.Windows.BadgeNotifications; direktívát a kódfájljához.

Numerikus badge beállítása

Hívja meg a SetBadgeAsCount függvényt, és adja át a megjelenítendő számot. Ha a szám nagyobb, mint 99, a jelvény a "99+" értéket jeleníti meg.

private void SetBadgeCountButton_Click(object sender, RoutedEventArgs e)
{
    // Show the number 5 on the app's taskbar icon.
    BadgeNotificationManager.Current.SetBadgeAsCount(5);
}

Glifa-jelvény beállítása

Hívja meg a SetBadgeAsGlyph függvényt , és adjon meg egy BadgeNotificationGlyph értéket. Az enumerálási értékek a Glifa-jelvények táblában szereplő glifáknak felelnek meg.

private void SetBadgeGlyphButton_Click(object sender, RoutedEventArgs e)
{
    // Show the alert glyph on the app's taskbar icon.
    BadgeNotificationManager.Current.SetBadgeAsGlyph(BadgeNotificationGlyph.Alert);
}

Jelzés törlése

Hívja meg a ClearBadge függvényt a jelvény eltávolításához. A 0-s szám vagy a BadgeNotificationGlyph.None glifa beállítása szintén törli a jelvényt.

private void ClearBadgeButton_Click(object sender, RoutedEventArgs e)
{
    BadgeNotificationManager.Current.ClearBadge();
}

Jelvény létrehozása az UWP BadgeUpdateManager API-val

Ezek a példák a Windows-futtatókörnyezet Windows.UI.Notifications névtérben található BadgeUpdateManager osztályt használják, amely az UWP-alkalmazások jelvényekhez használt API-ja. A jelvényt XML-adatként hozhatja létre az előző táblák értékeinek használatával. Ha az alkalmazás a Windows App SDK 1.7-es vagy újabb verzióját használja, használja helyette a BadgeNotificationManager eszközt.

Numerikus jelvény létrehozása

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);

}

Glyph-jelvény létrehozása

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);

}

Jelvény törlése

private void clearBadge()
{
    BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
}

A mintakód lekérése