2012-02-18 2 views
0

Возможно ли каким-либо образом захватить событие «Назад» без использования навигационной службы?WP7 - кнопка «Назад» без навигационной службы

A previous post here on StackOverflow описывает события кнопки «Назад» (как перегрузка OnBackKeyPress, так и обработчик событий PhoneApplicationPage_BackKeyPress) только срабатывает при использовании навигационной службы.

Моя реализация:

//Prepare the page; 
NextPage page = new NextPage(); 

//When we are ready to transition 
page.someData = data; 
page.parent = this; 
this.Content = page; 

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

есть в любом случае, чтобы вызвать кнопку назад при использовании описанного выше метода?

+0

Я предполагаю, что вы создаете приложение Silverlight. Что вы загружаете? html, xml, картинки, музыку? Почему вы хотите сохранить страницу? ИМО - лучшая идея - хранить данные. –

+0

Есть несколько разных вещей, которые загружаются. Самая большая проблема заключается в том, что MainPage представляет собой сводную страницу, и каждая отдельная вкладка в своде собирает некоторые данные (например, строку), а затем открывает соответствующую вкладку. Например, приложение с: домашней страницей, страницей XNA и страницей лидеров XAML. На домашней странице сводки я хочу собрать строку имени. Затем я хочу, чтобы эта строка имени была доступна как на странице XNA, так и на странице лидеров, когда пользователь открывает их с главной страницы. – Dragonseer

+0

Я уверен, что событие OnBackKeyPressed работало с аппаратной кнопкой. Однако вы можете использовать 'OnNavigatedFrom' вместо этого? –

ответ

0

Хранение всей страницы для кэширования данных это плохая идея, особенно в ограниченной среде, например .Net CF.

  • это затрудняет приложение (сложную навигационную логику, возможные циклы)
  • приложение ограничивается 90MB памяти

хранить данные в IsolatedStorageSettings.ApplicationSettings при работе с относительно небольшим количеством данных, например, пара строк, xml-файл < 1KB. В противном случае сохраните данные в файле в изолированном хранилище, например, музыку, изображения, огромные xmls и т. Д.

Смежные вопросы