Обработка события "Список переходов", когда файл выбирается из списка "Последние" для приложения UWP Windows 10

Я работаю над приложением UWP для Windows 10 на C#/Xaml и планирую расширить использование его списка переходов.

Итак, я знаю, как обрабатывать пользовательские задачи списка переходов (например, новый файл, открытый файл и т. Д.), Но для файлов из его последнего использованного списка я вообще не представляю, как перехватить какой файл был выбранный из списка (не смог найти никакой документации для него, тогда как для задач списка переходов я смог).

Если я выбираю файл, когда приложение не открыто, заставка остается открытой. И если я выберу один, когда приложение уже открыто, оно просто снова фокусируется на приложении (очевидно, что желаемое поведение не происходит в этом сценарии, потому что я не обрабатываю это событие).

Это было бы легко понять, если бы у меня был способ отладить приложение после того, как я запустил его через файл списка переходов (или если есть событие App, вызываемое, когда приложение не в фокусе, и я возвращаюсь сосредоточиться на этом, выбрав файл списка переходов - может быть, есть, но я не знаю об этом).

Любое руководство будет высоко ценится!

1 ответ

Решение

Активация списка переходов

Вам нужно будет переопределить OnFileActivated событие в App.xaml.cs, Экран-заставка остается открытым, и ничего не происходит, потому что в этом обработчике событий вам нужно проверить, было ли приложение запущено ранее или нет, а в случае, если это не так, вы должны создать корневой фрейм и активировать окно, аналогично OnLaunched обработчик.

Подпись OnFileActivated событие

void OnFileActivated(FileActivatedEventArgs args)

FileActivatedEventArgs содержит свойство Files, который представляет собой список файлов (StorageFiles), которые были использованы для запуска приложения. В случае активации файла и активации списка переходов, он инициализируется соответствующим образом.

Приложение отладки, когда оно не запущено

Это очень полезный совет - вы можете начать отладку и дождаться запуска приложения. Просто установите точку останова в OnFileActivated метод, перейдите к свойствам проекта приложения UWP в обозревателе решений, перейдите на вкладку " Отладка " и установите флажок " Не запускать, а отлаживать мой код при запуске".

Теперь начните отладку как обычно, но приложение не запустится, и отладчик будет ждать, пока вы не запустите его вручную (например, с помощью списка переходов), и подключится к нему.

Отладка при запуске

Вы можете использовать это для всех видов отладки активации, так что это очень хорошая вещь для запоминания.

Другие вопросы по тегам