TaskbarItemInfo.ProgressValue未更新

use*_*388 1 c# wpf taskbar

如屏幕截图所示,我的ProgressBar1.Value更新正常,但不是我的TaskbarItemInfo.ProgressValue:

在此输入图像描述

这是我用来更新两者的代码:

void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    // Set the Value porperty when progress changed.
    this.ProgressBar1.Value = (double)e.ProgressPercentage;

    this.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Normal;
    this.TaskbarItemInfo.ProgressValue = e.ProgressPercentage / 100;
}
Run Code Online (Sandbox Code Playgroud)

如何TaskbarItemInfo正确进行更新?

小智 8

this.TaskbarItemInfo.ProgressValue = e.ProgressPercentage / 100;
Run Code Online (Sandbox Code Playgroud)

在我看来,你正在将int与另一个int分开,因此当期望double时,结果将是一个int.

只需尝试使用"d"后缀100(使其成为双倍):

this.TaskbarItemInfo.ProgressValue = e.ProgressPercentage / 100d;
Run Code Online (Sandbox Code Playgroud)

  • 当您需要双倍时,我建议您使用 `100.0`,看起来更加 kewl。 (2认同)