Using the TaskBarItemInfo in WPF for the progress

2019-04-28 13:36发布

Does anybody have a WPF example of updating the ProgressState through the available enum states when progressing through ProgressValue?

I have the following code which binds my progress value to run from 0 to 1:

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

But, what is a good way to go from None to Normal to None or other flows: None-Normal-Paused-Normal-None. The code above shows the progress bar on the left at 0% and then finishes at 100% (1). I imagine I could bind this with a converter to another property hanging of my ViewModel, but wanted to see if anyone had any slicker solutions.

Thanks!

2条回答
戒情不戒烟
2楼-- · 2019-04-28 14:12

ProgressValue is double use value from 0 to 1

查看更多
可以哭但决不认输i
3楼-- · 2019-04-28 14:33

In the same way that you are binding the ProgressValue, you can also bind the ProgressState. The type of the ProgressState is an enum called TaskbarItemProgressState, which includes the states you already mentioned.

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,
}

I think the 'slickest' ways to do this are the ways you already mentioned, either with a converter or manually

查看更多
登录 后发表回答