WPF任务栏进度同步方法
Windows 11 是微软全新操作系统,现代化界面,流畅操作体验,适用于学习、工作与日常生活。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
本文主要介绍如何使用WPF中的TaskbarItemInfo对象在Windows操作系统的任务栏中同步显示任务进度。什么是TaskbarItemInfo对象?TaskbarItemInfo类提供了Windows7任务栏功能的托管包装。它涵盖了Windowsshell和本机任务栏API的功能,其中包括任务栏缩略图操作界面和任务进度更新。参考资料:Microsoft文档源码地址:GitHub仓库实现XAML代码<class><window.taskbariteminfo>
本文主要介绍如何使用WPF中的TaskbarItemInfo对象在Windows操作系统的任务栏中同步显示任务进度。
什么是TaskbarItemInfo对象?
TaskbarItemInfo类提供了Windows 7任务栏功能的托管包装。它涵盖了Windows shell和本机任务栏API的功能,其中包括任务栏缩略图操作界面和任务进度更新。


参考资料:Microsoft文档
源码地址:GitHub仓库
实现XAML代码
TaskbarItemInfo对象中的ProgressState枚举字段用于设置任务栏按钮中的进度指示器状态。我们这里使用Normal状态来显示正常的进度。
- Error(3):任务栏按钮中显示红色的进度指示器。
- Indeterminate(1):任务栏按钮中显示闪烁的绿色进度指示器。
- None(0):任务栏按钮中未显示进度指示器。
- Normal(2):任务栏按钮中显示绿色的进度指示器。
- Paused(4):任务栏按钮中显示黄色的进度指示器。
C#代码
public MainWindow()
{
InitializeComponent();
MyProgressBar.Minimum = 0;
MyProgressBar.Maximum = 100;
}
private async void Update()
{
while (true)
{
if (MyProgressBar.Value == MyProgressBar.Maximum)
{
break;
}
MyProgressBar.Value += 10;
TaskbarItemInfo.ProgressValue = MyProgressBar.Value / MyProgressBar.Maximum;
await Task.Delay(500);
}
}
private void MyBtn_Click(object sender, RoutedEventArgs e)
{
Update();
}通过上述代码,您可以实现WPF应用程序中任务栏进度的同步显示。
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















