【问题标题】: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系统“固定到此列表”和“从该列表中删除”跳转列表上下文菜单操作对自定义跳转列表分组中的项目没有任何作用
【发布时间】:2016-09-11 13:05:45
【问题描述】:

我为我的 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();

当我在开始或任务栏上右键单击我的应用程序图标时,跳转列表项确实会正确显示(并且我有一个自定义方法可以在左键单击它们时进行处理,这也可以正常工作)。我遇到的问题是,如果我右键单击此自定义组中的任何跳转列表项,则为每个项目显示的“固定到此列表”和“从此列表中删除”系统上下文菜单操作似乎没有做任何事情。我不确定是否需要编写自定义覆盖方法来处理这些调用,因为它们是 custom 组的跳转列表项,在这种情况下,我不知道这个覆盖方法需要什么是。或者我缺少的其他东西。

【问题讨论】:

    标签: uwp windows-10-universal jump-list


    【解决方案1】:

    不幸的是,微软似乎尚未在 UWP 应用中实现此功能,目前仅可用于系统管理的默认项目组。

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

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

    JumpListItem jumplistItem = JumpListItem.CreateWithArguments(mruToken, file.Name);
    
    //comment this out
    //jumplistItem.GroupName = "Popular files"; 
    
    _jumpList.Items.Add(jumplistItem);
    
    await _jumpList.SaveAsync();
    

    然而,这意味着该项目将出现在组名 Tasks 下。但是,优点是不会显示 pin 按钮。

    【讨论】:

    • 嗯,真可惜。认为这可能是 MS 的疏忽/错误结束。猜猜它可以通过像 Chrome 这样的应用程序实现的事实是因为它是一个 Win32 应用程序。感谢您对此进行调查!
    • 是的,当然。希望能在未来的一些更新中工作:-)。在反馈中心报告这一点可能会很有用:-)
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多