首页 > 解决方案 > 如何在跳转列表中获取之前添加的项目

问题描述

我现在正在研究跳转列表功能并尝试在我的 WPF/C# 项目中实现它。

从 MSDN 链接执行示例时,我观察到以下问题:https://docs.microsoft.com/en-us/dotnet/api/system.windows.shell.jumplist?view=net-5.0

1)。JumpList.GetJumpList(App.Current) 总是返回一个新创建的。

也就是说,程序重启后所有添加的项都丢失了;

2)。奇怪的是:如果我们右键单击任务栏上的程序,添加的项目已经在那里了。但是,当我们通过点击下面的按钮添加一项后,添加的项就消失了;

<Button Content="Add Task to JumpList" Click="AddTask" />

我认为根本原因在于#1),即虽然我们可以在#2) 中看到添加的项目,但它们并没有出现在 JumpList.GetJumpList 的返回值中。结果,在我们添加一个之后,在之前的启动中添加的所有这些项目都丢失了。

为了确认#1),我通过删除 App.xaml 中的 <JumpList.JumpList> 部分进行了测试,发现每次启动程序时,JumpList.GetJumpList 总是返回 null。

我的问题是: 我们如何才能在代码中获得这些添加的项目?即,我想获得#2) 中显示的那些项目。

我确实搜索了很多,但未能获得有用的信息来解决我的问题。看起来有类似的问题,但在没有正确答案的情况下仍然保持开放。例如:如何从 JumpList 中获取最近的项目?

事实上,我有一个最终解决方案:将添加的项目保存在配置/首选项文件中,如果项目从代码逻辑中删除,则更新文件。如果没有其他解决方案,这是我必须采取的最后一步。

如果你有任何提示,请给我。

非常感谢!

标签: c#wpfjump-list

解决方案


推荐阅读