Я работаю над созданием видео-приложения и, работая над Интеграцией с музыкой + видео, я столкнулся с очень странной проблемой. вот что я делаю
прикосновение к элементу истории музыки запускает файл MainPage.xaml, в функции OnNavigate () я проверяю, был ли запрошен элемент истории, и если true, тогда я использую NavigateService.Navigate (videoPage.xaml). Но это выходящее приложение, никакие события приложения не возникают, просто выходит из приложения без какого-либо события приложения.
Насколько я понимаю, нет способа отладить этот сценарий, поэтому я как-то смоделировал его и заметил, что NavigateService.Navigate работает нормально, но именно вызов Application.LoadComponent () является причиной всего этого.
Странные вещи
- VideoPage.xaml прекрасно открывается при других событиях, кроме этого
- Он работал раньше и сейчас просто не работает.
- Я не нашел способа проверить, почему он завершается без какого-либо события.
- Он работает на симуляторе, но не на устройстве.
Я пробовал чистое решение. (
, пожалуйста, помогите мне или, по крайней мере, дайте мне обходной путь, чтобы получить сообщение об ошибке.
Обновление:
Я нашел решение, это похоже на обходной путь, но оно все равно работает.
MainPage.xaml содержит элемент управления pivot и в случае события pivot_selectionChanged создает httpwebrequest, а также показывает progressbaar для systemTray. (это событие возникает при первой загрузке страницы)
В событии OnNavigatedTo я проверял, нужно ли мне переходить на другую страницу или нет, и если да, то я делал вызов навигационной системы с последующим оператором return.
вчера мне стало известно, что return не останавливает события загрузки элементов управления, и страница все равно вызывает pivot_selectionChanged. поэтому вместо прикрепления события pivot_selectionChange в xaml я переместил его в файл кода. это сработало.
Но все еще остается вопрос, почему приложение закрывается, не вызывая никаких исключений, даже события Application_Close. И что было настоящей проблемой, так это ожидание HttpWebRequest или Progressbar в systemTray, которое вызывает такие проблемы.