Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mithilfe einer Statusleiste in Ihrer App-Benachrichtigung können Sie dem Benutzer den Status von lang ausgeführten Vorgängen vermitteln, z. B. Downloads, Videorendering, Übungsziele und vieles mehr.
Eine Statusanzeige in einer App-Benachrichtigung kann entweder "unbestimmt" sein (kein bestimmter Wert, animierte Punkte deuten darauf hin, dass ein Vorgang auftritt) oder "determiniert" (ein bestimmter Prozentsatz der Leiste ist gefüllt, z. B. 60%).
Die folgende Abbildung zeigt eine bestimmte Fortschrittsanzeige mit allen entsprechend beschrifteten Eigenschaften.
Weitere Informationen zu App-Benachrichtigungen finden Sie in der Übersicht über App-Benachrichtigungen.
| Eigentum | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| Title | Zeichenfolge oder BindableString | FALSCH | Kann eine optionale Titelzeichenfolge abrufen oder festlegen. Unterstützt die Datenbindung. |
| Wert | Doppel oder AdaptiveProgressBarValue oder BindableProgressBarValue | FALSCH | Ermöglicht das Abrufen oder Festlegen des Werts des Fortschrittsbalkens. Unterstützt die Datenbindung. Standardmäßig auf 0 gesetzt. Dies kann entweder ein Double zwischen 0,0 und 1,0, AdaptiveProgressBarValue.Indeterminate, oder new BindableProgressBarValue("myProgressValue"). |
| ValueStringOverride | Zeichenfolge oder BindableString | FALSCH | Dient zum Abrufen oder Festlegen einer optionalen Zeichenfolge, die anstelle der standardprozentigen Zeichenfolge angezeigt werden soll. Wenn dies nicht angegeben wird, wird so etwas wie "70%" angezeigt. |
| Status | Zeichenfolge oder BindableString | STIMMT | Dient zum Abrufen oder Festlegen einer Statuszeichenfolge (erforderlich), die unter dem Fortschrittsbalken auf der linken Seite angezeigt wird. Diese Zeichenfolge sollte den Status des Vorgangs widerspiegeln, z. B. "Herunterladen..." oder "Installieren..." |
Verwenden Sie "AppNotificationBuilder.AddProgressBar ", um Ihrer Benachrichtigung eine Statusanzeige hinzuzufügen. Im folgenden Beispiel wird die oben gezeigte Benachrichtigung generiert.
var builder = new AppNotificationBuilder()
.AddText("Downloading your weekly playlist...")
.AddProgressBar(new AppNotificationProgressBar()
.SetTitle("Weekly playlist")
.SetValue(0.6)
.SetValueStringOverride("15/26 songs")
.SetStatus("Downloading..."));
Um die Werte der Statusanzeige dynamisch zu aktualisieren, verwenden Sie die Datenbindung, wie im nächsten Abschnitt beschrieben.
Aktualisieren einer Statusanzeige mit Datenbindung
Um eine Live-Statusanzeige anzuzeigen, verwenden Sie die Datenbindung, um die Benachrichtigungswerte zu aktualisieren, ohne die gesamte Benachrichtigung erneut zu senden.
- Erstellen Sie Benachrichtigungsinhalte mit datengebundenen Feldern, indem Sie die
BindMethoden auf "AppNotificationProgressBar" aufrufen. - Weisen Sie eine Kategorie (und optional eine Gruppe) zu, um die Benachrichtigung zu identifizieren.
- Legen Sie die anfänglichen AppNotificationProgressData-Werte fest.
- Zeigen Sie die Benachrichtigung an, indem Sie "AppNotificationManager.Default.Show" aufrufen.
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
string tag = "weekly-playlist";
string group = "downloads";
var builder = new AppNotificationBuilder()
.AddText("Downloading your weekly playlist...")
.AddProgressBar(new AppNotificationProgressBar()
.BindTitle()
.BindValue()
.BindValueStringOverride()
.BindStatus());
var notification = builder.BuildNotification();
notification.Tag = tag;
notification.Group = group;
notification.Progress = new AppNotificationProgressData(1)
{
Title = "Weekly playlist",
Value = 0.6,
ValueStringOverride = "15/26 songs",
Status = "Downloading..."
};
AppNotificationManager.Default.Show(notification);
Aktualisieren Sie dann die Statuswerte, indem Sie "AppNotificationManager.Default.UpdateAsync " mit einer neuen AppNotificationProgressData-Instanz aufrufen. Erhöhen Sie die Sequenznummer, damit die Plattform weiß, dass es sich um ein neueres Update handelt.
using Microsoft.Windows.AppNotifications;
string tag = "weekly-playlist";
string group = "downloads";
var data = new AppNotificationProgressData(2)
{
Value = 0.7,
ValueStringOverride = "18/26 songs"
};
await AppNotificationManager.Default.UpdateAsync(data, tag, group);
Die Verwendung von UpdateAsync anstatt die gesamte Benachrichtigung zu ersetzen, stellt sicher, dass die Benachrichtigung in der gleichen Position im Benachrichtigungscenter bleibt und nicht nach oben oder unten verschoben wird. Die Methode gibt ein NotificationUpdateResult zurück, das angibt, ob das Update erfolgreich war oder ob die Benachrichtigung nicht gefunden werden konnte (der Benutzer hat sie möglicherweise geschlossen).
Elemente, die die Datenbindung unterstützen
Die folgenden Elemente in App-Benachrichtigungen unterstützen die Datenbindung:
- Alle Eigenschaften auf AppNotificationProgressBar
- Die Text-Eigenschaft für die Textelemente der obersten Ebene
Aktualisieren oder Ersetzen einer Benachrichtigung
Sie können eine Benachrichtigung ersetzen , indem Sie eine neue Benachrichtigung mit demselben Tag und derselben Gruppe senden. In der folgenden Tabelle wird der Unterschied zwischen dem Ersetzen und Aktualisieren einer Benachrichtigung beschrieben.
| Ersetzen | Aktualisieren | |
|---|---|---|
| Position im Benachrichtigungscenter | Verschiebt die Benachrichtigung an den Anfang des Benachrichtigungscenters. | Belässt die Benachrichtigung in der Mitteilungszentrale. |
| Ändern von Inhalten | Kann den gesamten Inhalt und das Layout der Benachrichtigung vollständig ändern. | Kann nur Eigenschaften ändern, die die Datenbindung unterstützen (Statusleiste und Text auf oberster Ebene). |
| Wieder als Popup angezeigt | Kann wieder als Popup angezeigt werden, wenn SuppressPopup festgelegt ist (oder auf das false automatische Senden an das Benachrichtigungscenter festgelegt ist true ). |
Wird nicht wieder als Popup angezeigt; die Daten der Benachrichtigung werden im Benachrichtigungscenter automatisch aktualisiert. |
| Benutzer abgewiesen | Die Ersetzungsbenachrichtigung wird immer gesendet, unabhängig davon, ob der Benutzer die vorherige Benachrichtigung geschlossen hat. | Wenn der Benutzer die Benachrichtigung geschlossen hat, schlägt das Update fehl. |
Im Allgemeinen ist Aktualisieren nützlich für Informationen, die häufig geändert werden und die sofortige Aufmerksamkeit des Benutzers nicht erfordern, wie zum Beispiel ein Fortschritt, der von 50 % auf 65 % wechselt.
Nachdem die Aktualisierungssequenz abgeschlossen ist (z. B. nachdem eine Datei heruntergeladen wurde), erwägen Sie, die Benachrichtigung für den letzten Schritt zu ersetzen, da:
- Die endgültige Benachrichtigung weist wahrscheinlich ein anderes Layout auf, z. B. das Entfernen der Statusleiste oder das Hinzufügen neuer Schaltflächen.
- Möglicherweise hat der Benutzer die Statusbenachrichtigung geschlossen, möchte aber dennoch ein Popup sehen, wenn der Vorgang abgeschlossen ist.
Siehe auch
Windows developer