商城首页欢迎来到中国正版软件门户

您的位置:首页 >WPF任务栏进度同步方法

WPF任务栏进度同步方法

  发布于2025-07-29 阅读(0)

扫一扫,手机访问

本文主要介绍如何使用WPF中的TaskbarItemInfo对象在Windows操作系统的任务栏中同步显示任务进度。

什么是TaskbarItemInfo对象?

TaskbarItemInfo类提供了Windows 7任务栏功能的托管包装。它涵盖了Windows shell和本机任务栏API的功能,其中包括任务栏缩略图操作界面和任务进度更新。

WPF任务栏同步进度WPF任务栏同步进度

参考资料:Microsoft文档

源码地址:GitHub仓库

实现XAML代码

<class>
  <window.taskbariteminfo>
    <taskbariteminfo progressstate="Normal"></taskbariteminfo>
  </window.taskbariteminfo>
  <grid>
    <stackpanel horizontalalignment="Center" verticalalignment="Center">
      <progressbar height="30" width="400" x:name="MyProgressBar"></progressbar>
    </stackpanel>
  </grid>
</class>

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应用程序中任务栏进度的同步显示。

本文转载于:https://cloud.tencent.com/developer/article/2188359 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注