Использование TaskBarItemInfo в WPF для индикатора выполнения в панели задач Win 7 - PullRequest
8 голосов
/ 21 апреля 2011

Есть ли у кого-нибудь пример WPF обновления ProgressState через доступные состояния перечисления при прохождении через ProgressValue?

У меня есть следующий код, который привязывает мое значение прогресса к выполнению от 0 до 1:

<Window.TaskbarItemInfo>
    <TaskbarItemInfo Description="An app with a taskbar info description" 
                     ProgressValue="{Binding Count}" ProgressState="Normal"/>
</Window.TaskbarItemInfo>

Но какой хороший способ перейти от Нет до Нормально до Нет или других потоков: Нет-Нормально-Пауза-нормальный-None .Код выше показывает индикатор выполнения слева в 0% и затем заканчивается в 100% (1).Я полагаю, что мог бы связать это с конвертером с другим свойством, висящим в моей ViewModel, но хотел посмотреть, есть ли у кого-нибудь более привлекательные решения.

Спасибо!

Ответы [ 2 ]

4 голосов
/ 20 мая 2011

ProgressValue удваивается используйте значение от 0 до 1

3 голосов
/ 11 февраля 2016

Таким же образом, как вы связываете ProgressValue, вы также можете связать ProgressState. Тип ProgressState - это перечисление TaskbarItemProgressState, которое включает в себя состояния, которые вы уже упоминали.

public enum TaskbarItemProgressState
{
    // Summary:
    //     No progress indicator is displayed in the taskbar button.
    None = 0,
    //
    // Summary:
    //     A pulsing green indicator is displayed in the taskbar button.
    Indeterminate = 1,
    //
    // Summary:
    //     A green progress indicator is displayed in the taskbar button.
    Normal = 2,
    //
    // Summary:
    //     A red progress indicator is displayed in the taskbar button.
    Error = 3,
    //
    // Summary:
    //     A yellow progress indicator is displayed in the taskbar button.
    Paused = 4,
}

Я думаю, что «самые изящные» способы сделать это - способы, которые вы уже упоминали, с помощью конвертера или вручную

...