WP7 определяет, с какой страницы я перешел - PullRequest
0 голосов
/ 01 ноября 2010

У меня 3 страницы.Страница 1 - это критерии поиска, страница 2 - это список, страница 3 - это подробности.

Если я перейду на страницу 2 со страницы 1, я хочу позвонить в веб-службу и загрузить сведения на страницу.

Если я перейду на страницу 2 со страницы 3 (то есть с помощью кнопки «назад»), я не хочу перезагружать данные, поскольку они у меня уже есть.

Чтобы определить, что делать при активации страницы 2, мне нужночтобы знать, откуда я.

Я не вижу ничего в навигационном событии, которое говорит мне об этом.

Есть идеи?

Приветствия

Стив

Ответы [ 3 ]

1 голос
/ 02 ноября 2010

Кроме того, вы можете добавить новую запись в словарь ресурсов приложения и получить ее на следующей странице, переопределив метод OnNavigatedTo.

Добавить запись:

App.Current.Resources.Add("from",2);

Чтобы получить запись:

if(App.Current.Resources.Contains("from")
{
   lastPage = (int)App.Current.Resources["from"];
}

Для получения дополнительной информации см. Главу 6 книги Чарльза Петцольда, доступную по следующей ссылке:
http://www.charlespetzold.com/phone/

1 голос
/ 23 декабря 2010

Как новое (и лучшее?) Решение, вы должны рассмотреть возможность использования новой (на 12/9/2010) службы нелинейной навигации .

1 голос
/ 02 ноября 2010

Невозможно сделать это с помощью API / SDK, как есть.

Однако вы можете попросить страницу вызова сообщить page3, как она называется.быть включить запись в строке запроса.то есть

NavigationService.NavigateTo(new Uri("page3.xaml?from=page2", UriKind.Relative));

Затем на стр. 3:

string sourcePage;

if (NavigationContext.QueryString.TryGetValue("from", out sourcePage))
{
    // test the value of sourcePage and act accordingly
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...