系统 "Pin to this list" 和 "Remove from this list" 跳转列表上下文菜单操作不会对自定义跳转列表分组中的项目执行任何操作

System "Pin to this list" and "Remove from this list" jump list context menu actions don't do anything for items in custom jump list grouping

我已经为我的 UWP 创建了项目的自定义跳转列表分组:

_jumpList = await JumpList.LoadCurrentAsync();

var mru = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList;
string mruToken = mru.Add(file.FileInfo, file._id);

JumpListItem jumplistItem = JumpListItem.CreateWithArguments(mruToken, file.Name);
jumplistItem.GroupName = "Popular files";

_jumpList.Items.Add(jumplistItem);

await _jumpList.SaveAsync();

当我右键单击我的应用程序图标时,无论是在“开始”还是在任务栏上,跳转列表项目都会正确显示(我有一个自定义方法来处理当它们被左键单击时也可以正常工作) .我遇到的问题是,如果我右键单击此自定义组中的任何跳转列表项,为每个项目显示的 "Pin to this list" 和 "Remove from this list" 系统上下文菜单操作似乎没有任何作用.我不确定是否需要编写自定义覆盖方法来处理这些调用,因为它们是 custom 组的跳转列表项,在这种情况下我不知道这个覆盖是什么方法需要。或者我缺少的其他内容。

遗憾的是,Microsoft 似乎尚未将此功能实施到 UWP 应用程序中,目前仅适用于系统管理的默认项组。

您可以创建命名的跳转列表项目组,但这会导致显示图钉按钮,尽管它不起作用。

如果不想显示固定按钮,则必须让默认组中的项目(通过不设置组名):

JumpListItem jumplistItem = JumpListItem.CreateWithArguments(mruToken, file.Name);

//comment this out
//jumplistItem.GroupName = "Popular files"; 

_jumpList.Items.Add(jumplistItem);

await _jumpList.SaveAsync();

然而,这意味着该项目将出现在组名 Tasks 下。不过好处是不会显示图钉按钮。