从 UWP Windows 10 应用程序的 "Recent" 文件列表中选取文件时处理跳转列表事件

Handling a Jump List event when a file is picked from the "Recent" list of files for a UWP Windows 10 app

我正在使用 C#/Xaml 开发 UWP Windows 10 应用程序,我打算扩展其跳转列表的使用。

所以,我知道如何处理自定义跳转列表任务(例如新文件、打开文件等),但对于其最近使用列表中的文件,我我完全不知道如何拦截从列表中选择的文件(无法找到它的任何文档,而对于跳转列表任务我能够找到)。

如果我在应用程序未打开时选择文件,启动画面会保持打开状态。如果我在应用程序已经打开时选择一个,它只会将焦点放回到应用程序上(显然在这种情况下不会发生所需的行为,因为我没有处理此事件)。

这很容易弄清楚,如果我在通过跳转列表文件启动应用程序后可以调试该应用程序(或者当应用程序未启动时调用应用程序事件)处于焦点状态,我 return 通过选择一个跳转列表文件来关注它 - 也许有但我不知道它)。

任何指导将不胜感激!

跳转列表激活

您需要覆盖 App.xaml.cs 中的 OnFileActivated 事件。初始屏幕保持显示并且没有任何反应,因为在此事件处理程序中,您需要检查该应用程序之前是否已启动,如果没有,您必须创建根框架并类似地激活 window到 OnLaunched 处理程序。

OnFileActivated 事件的签名是

void OnFileActivated(FileActivatedEventArgs args)

FileActivatedEventArgs 包含 属性 Files,这是用于启动应用程序的文件列表 (StorageFiles)。在文件激活和跳转列表激活的情况下,这被适当地初始化。

未启动时调试应用程序

这是一个非常有用的提示 - 您可以开始调试并等待应用启动。只需在 OnFileActivated 方法中设置断点,转到解决方案资源管理器中的 UWP 应用程序项目 Properties,转到 Debug 选项卡,然后检查不启动,但在启动时调试我的代码

现在像往常一样开始调试,但应用程序不会启动,调试器将等到您手动启动它(例如使用跳转列表)并附加到它。

你可以用它来进行各种激活调试,所以这是一件非常值得记住的事情。