C# 可能会覆盖";Pin";Windows 7跳转列表项的功能?或在一行上执行多个命令

C# 可能会覆盖";Pin";Windows 7跳转列表项的功能?或在一行上执行多个命令,c#,wpf,windows-7,jump-list,C#,Wpf,Windows 7,Jump List,我已经开始在我的程序中添加跳转列表,并知道如何使用我的程序的单个实例进行“对话”,但我想知道是否可以覆盖Pin功能或在一行中添加两个命令 我想有一个“打开位置”(主点击)或“删除位置”选项,并希望能够覆盖Pin图标作为“删除” 我知道我可以制作两倍的项目,其中一半是“删除”,另一半是“打开”,但如果它们可以放在一行上,就可以真正清理UI/列表。我认为这是不可能的。从和API来看,很明显JumpList是JumpItem的集合,JumpItem(或者实际上是JumpTask或JumpPath)只能

我已经开始在我的程序中添加跳转列表,并知道如何使用我的程序的单个实例进行“对话”,但我想知道是否可以覆盖Pin功能或在一行中添加两个命令

我想有一个“打开位置”(主点击)或“删除位置”选项,并希望能够覆盖Pin图标作为“删除”


我知道我可以制作两倍的项目,其中一半是“删除”,另一半是“打开”,但如果它们可以放在一行上,就可以真正清理UI/列表。

我认为这是不可能的。从和API来看,很明显JumpList是JumpItem的集合,JumpItem(或者实际上是JumpTask或JumpPath)只能采用带有附加参数的单个路径。要覆盖JumpItem click处理程序,您需要访问Windows未公开的方法。

我以前没有使用过Win7 JumpList,但是如果用户“取消绑定”某个项目,是否可以捕获事件?如果是这样,您可以捕获该事件,执行必要的操作,然后将该项重新添加到jumplist。。。这是一个解决办法,但它可以满足你的需要


否则,只要在单击列表项后更改其文本和功能即可(如果用户打开了位置,则从“打开位置”更改为“删除位置”,反之亦然)。您可以为每个项目保留一个布尔值或其他内容,以区分当前状态。

是的,我希望我只是遗漏了一些内容,并且有一种方法可以做到这一点,这似乎是微软错失了增加跳转列表的机会useful@John这个软件操纵任务栏的行为-我不知道它是怎么做到的(可能完全取代默认的任务栏行为)我怀疑它是用C#写的,但可能有一些希望。祝你好运。是的,这就是我想要的,但它似乎在任何地方都没有这个功能…看起来跳转列表都是由windows处理的,根本没有与你的程序直接交互,因此需要一个“单一”实例版本的程序,让列表单击执行功能(如在IE中打开新选项卡)。因此,似乎没有任何方法可以做到这一点,这是一个遗憾:(