Поделиться через


AppNotificationProgressBar.BindStatus Метод

Определение

Привязывает свойство AppNotificationProgressBar.Status .

public:
 virtual AppNotificationProgressBar ^ BindStatus() = BindStatus;
AppNotificationProgressBar BindStatus();
public AppNotificationProgressBar BindStatus();
function bindStatus()
Public Function BindStatus () As AppNotificationProgressBar

Возвращаемое значение

Возвращает экземпляр AppNotificationProgressBar , чтобы можно было связать в цепочку дополнительные вызовы методов.

Примеры

В следующем примере показано, как задать свойство Status индикатора выполнения уведомлений приложения с помощью привязки данных.

var notification = new AppNotificationBuilder()
    .AddText("Downloading your weekly playlist...")
    .AddProgressBar(new AppNotificationProgressBar()
        .BindTitle()
        .BindStatus()
        .BindValue()
        .BindValueStringOverride())
        .SetTag(tagName)
        .SetGroup(groupName))
    .BuildNotification();

var data = new AppNotificationProgressData (sequenceNumber /* Sequence number */);
data.Title = "Retreiving files"; // Binds to {progressTitle} in xml payload
data.Value = (double) currentFile / totalFiles; // Binds to {progressValue} in xml payload
data.ValueStringOverride = String.Format("{0}/{1} files", currentFile, totalFiles); // Binds to {progressValueString} in xml payload
data.Status = "Downloading..."; // Binds to {progressStatus} in xml payload

notification.Progress = data;

AppNotificationManager.Default.Show(notification);

Результирующие полезные данные XML:

<toast>
    <visual>
        <binding template='ToastGeneric'>
            <text>Downloading your weekly playlist...</text>
            <progress title='{progressTitle}' status='{progressStatus}' value='{progressValue}' valueStringOverride='{progressValueString}'/>
        </binding>
    </visual>
</toast>

Обновите привязанные значения, вызвав AppNotificationManager.UpdateAsync и указав тег и при необходимости группу тега, который требуется обновить.

private async Task UpdateProgressBar()
{
    var data = new AppNotificationProgressData(sequenceNumber /* Sequence number */);
    data.Title = "Retreiving files"; // Binds to {progressTitle} in xml payload
    data.Value = (double)currentFile / totalFiles; // Binds to {progressValue} in xml payload
    data.ValueStringOverride = String.Format("{0}/{1} files", currentFile, totalFiles); // Binds to {progressValueString} in xml payload
    data.Status = (currentFile < totalFiles) ? "Downloading..." : "Complete!"; // Binds to {progressStatus} in xml payload

    await AppNotificationManager.Default.UpdateAsync(data, tagName, groupName);
}

Комментарии

Значение Состояния привязано по умолчанию. Обновите привязанное значение состояния, назначив объект AppNotificationProgressData свойству AppNotification.Progress.

Вы также можете задать состояние с помощью свойства AppNotificationProgressBar.Status или путем вызова AppNotificationProgressBar.SetStatus.

Инструкции по использованию API AppNotificationBuilder для создания пользовательского интерфейса для уведомлений приложений см. в разделе Содержимое уведомлений приложений.

Справочные сведения о схеме XML для уведомлений приложений см. в разделе Схема содержимого уведомлений приложений.

Применяется к