📅  最后修改于: 2023-12-03 15:39:17.288000             🧑  作者: Mango
正如许多 Windows 应用程序一样,您的 WPF 应用程序可能会利用任务栏缩略图,这是在 Windows 7 及更高版本中引入的功能,它可以让用户对应用程序进行快速导航和操作。但是,如果您希望更多地控制这些操作,并为用户添加一些方便的自定义按钮,那么您需要学习如何向任务栏缩略图添加自定义按钮。
在这里,我们将演示如何将按钮添加到任务栏缩略图,以实现一些自定义操作,例如播放/暂停音乐或控制应用程序的某些设置。
在 Visual Studio 中,打开您的 WPF 项目,并右键单击“引用”文件夹添加新引用。在“引用管理器”窗口的“程序集”选项卡中,搜索“Microsoft.WindowsAPICodePack”和“Microsoft.WindowsAPICodePack.Shell”,并将它们添加到您的项目中。
在你的 MainWindow.xaml.cs
文件中,添加以下 using 语句:
using Microsoft.WindowsAPICodePack.Taskbar;
using System.Windows.Shell;
这将导入所需的命名空间,以便后续代码可以访问任务栏缩略图 API。
在您的主窗口(或任何其他您选择的窗口)类中添加以下代码:
var customButton = new ThumbnailToolbarButton(new System.Drawing.Icon("buttonIcon.ico"), "按钮");
customButton.Click += new EventHandler(thumbnailButton_Click);
TaskbarManager.Instance.ThumbnailToolbars.AddButtons(new WindowInteropHelper(this).Handle, customButton);
这将创建一个新的 ThumbnailToolbarButton 对象,它将显示该应用程序上的一个小图标和一个向用户表示按钮的文本字符串。然后,您需要添加一个单击事件侦听器,并将按钮添加到任务栏缩略图工具栏中。
private void thumbnailButton_Click(object sender, EventArgs e)
{
// 按钮被单击时执行的操作
}
这是您想要执行的任何其他应用程序逻辑,例如播放音乐或执行其他操作的位置。
如果您的应用程序将显示进度指示器,则可以使用以下代码更新您在任务栏上看到的相关内容:
TaskbarItemInfo taskbarItemInfo = new TaskbarItemInfo();
taskbarItemInfo.ProgressState = TaskbarItemProgressState.Normal;
taskbarItemInfo.ProgressValue = 0.5;
TaskbarItemInfo.ProgressStateProperty.OverrideMetadata(typeof(MyWindow), new FrameworkPropertyMetadata(typeof(TaskbarItemInfo)));
这将使任务栏上的窗口缩略图区域显示一个进度指示器。
现在你已经创建了你的自定义任务栏按钮,并将它添加到任务栏缩略图,你可以运行你的应用程序,试着点击它,看看它是否会执行你期望的操作。如果一切正常,你现在应该可以控制你的应用程序,无论你的用户是否在 Windows 任务栏上运行。
以上就是向 WPF 应用程序中添加自定义任务栏按钮的简单介绍。您可以使用此功能创建更灵活和智能的应用程序,以提高应用程序的整体效率和易用性。