case «button1»: NavigationService.Navigate (new Uri (»/page1.xaml», UriKind.Relative));
Снова запустите проект и убедитесь, что навигация при помощи кнопок работает так же, как и в примере с гиперссылками.
Рисунок 2.17 Вид программы в окне эмулятора
Для перехода назад вы можете использовать метод NavigationService. GoBack, который возвращает к экземпляру предыдущей страницы. Конечно, это дублирует функциональность кнопки «Назад», так что вы, скорее всего, будете вызывать этот метод как часть какой-либо другой функциональности.
private void button1_Click (object sender, RoutedEventArgs e)
{
NavigationService. GoBack ();
}
2.12.4 Передача параметров
Иногда требуется не просто перейти на другую страницу, но и передать ей некоторые данные с предыдущей страницы. Добавьте на первую страницу текстовое поле и кнопку под именем passParam.
Добавьте код для обработчика щелчка кнопки
private void passParam_Click (object sender, RoutedEventArgs e)
{
NavigationService.Navigate (new Uri (»/SecondPage. xaml? msg=" + textBox1.Text, UriKind.Relative));
}
Вы видите, что при навигации на вторую страницу мы передаем строковые данные, которые берутся из текстового поля. Чтобы получить передаваемые данные, добавьте на второй странице текстовый блок (TextBlock) под именем textBlock1. В файле SecondPage. xaml. cs создайте следующий метод:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base. OnNavigatedTo (e);
string msg = «»;
if (NavigationContext.QueryString.TryGetValue («msg», out msg)) textBlock1.Text = msg;
}
Запустите приложение, введите текст на первой странице и убедитесь, что он отображается на второй странице.
2.12.5 Аппаратная кнопка Back
Одним из требований к устройствам под управлением Windows Phone 7 является наличие аппаратной кнопки Back (Назад). По умолчанию кнопка Back работает как в обычном браузере. Она автоматически запоминает посещаемые страницы приложения, а также закрывает само приложение, если приложение состоит из одной страницы или пользователь вернулся к основной странице из других страниц и больше некуда возвращаться.