我已经开始在程序中添加JumpLists,并且知道如何使用程序的单个实例进行"对话",但我想知道是否可以覆盖Pin功能或在一行中添加两个命令?
我想有一个"打开位置"(主点击)或"删除位置"选项,并希望能够覆盖Pin图标作为"删除"。
我知道我可以通过制作两倍多的项目来做到这一点,其中一半作为"移除",一半作为"打开",但如果它们可以在一行上,这将真正清理UI/List。
我认为这是不可能的。看看托管和非托管API,很明显JumpList是JumpItem的集合,JumpItem(或者实际上是JumpTask或JumpPath)只能采用带有附加参数的单个路径。若要覆盖JumpItem单击处理程序,您需要访问Windows未公开的方法。
我以前从未使用过Win7跳转列表,但如果用户"取消固定"项目,是否可以捕捉到事件?如果是这样,您可以捕获该事件,执行必要的操作,并将该项目重新添加到跳转列表中。。。有点变通办法,但它可以做你想做的事。
否则,只需在单击列表项后更改其文本和功能(如果用户打开位置,则从"打开位置"更改为"删除位置",反之亦然)。您可以为每个项目保留一个布尔值或其他值来区分当前状态。