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


AppNotificationProgressBar Класс

Определение

Представляет индикатор выполнения, отображаемый в уведомлении приложения.

public ref class AppNotificationProgressBar sealed
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.Windows.AppNotifications.Builder.AppNotificationBuilderContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Windows.AppNotifications.Builder.AppNotificationBuilderContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppNotificationProgressBar final
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.Windows.AppNotifications.Builder.AppNotificationBuilderContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Windows.AppNotifications.Builder.AppNotificationBuilderContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppNotificationProgressBar
function AppNotificationProgressBar()
Public NotInheritable Class AppNotificationProgressBar
Наследование
Object Platform::Object IInspectable AppNotificationProgressBar
Атрибуты

Примеры

В следующем примере показано добавление индикатора выполнения в полезные данные XML для уведомления приложения.

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

Комментарии

На следующем снимку экрана показано уведомление приложения с индикатором выполнения.

Снимок экрана: уведомление приложения с индикатором выполнения.

Добавьте индикатор выполнения в полезные данные XML для уведомления приложения, вызвав AppNotificationBuilder.AddProgressBar.

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

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

Конструкторы

AppNotificationProgressBar()

Инициализирует новый экземпляр класса AppNotificationProgressBar .

Свойства

Status

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

Title

Возвращает или задает текст заголовка индикатора выполнения уведомлений приложения.

Value

Возвращает или задает значение хода выполнения для индикатора выполнения уведомлений приложения.

ValueStringOverride

Возвращает или задает переопределение строки значения индикатора выполнения уведомлений приложения.

Методы

BindStatus()

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

BindTitle()

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

BindValue()

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

BindValueStringOverride()

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

SetStatus(String)

Задает текст состояния индикатора выполнения уведомлений приложения.

SetTitle(String)

Задает текст заголовка индикатора выполнения уведомлений приложения.

SetValue(Double)

Задает значение хода выполнения для индикатора выполнения уведомлений приложения.

SetValueStringOverride(String)

Задает переопределение строки значения индикатора выполнения уведомлений приложения.

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