Офис

Навигация между страницами XAML: Windows Phone 7.5 Разработка приложений для Mango - часть 21

Маша и Медведь (Masha and The Bear) - Подкидыш (23 Серия)

Маша и Медведь (Masha and The Bear) - Подкидыш (23 Серия)
Anonim

Добро пожаловать в серию разработки приложений для Windows Phone 7.5 Mango. В последнем уроке мы расскажем о том, как применять стиль и темы к элементам управления, в этом уроке мы увидим один из способов навигации между страницами и передачи данных со страницы на другую.

Мы загружаем страницы XAML в приложениях Silverlight так же, как мы загружаем HTML страниц в веб-браузере. Как и на веб-сайте, на каждом веб-сайте есть свой уникальный URL-адрес (Unified Resource Locator), например www.thewindowsclub.com. В приложении Windows Phone 7.5 мы используем элемент управления Button с гиперссылкой и используем его свойство NavigateURI с URI (Унифицированный идентификатор ресурса) страницы XAML, которую вы хотите загрузить. Итак, давайте начнем с примера.

Создайте новый проект с уникальным именем, таким как «NavigationDemo». Затем щелкните правой кнопкой мыши имя проекта в проводнике решений и выберите «Добавить», а затем «Новый элемент». В окне «Добавить новый элемент» выберите «Страница« Портрет телефонной книги Windows »», дайте ему имя, например Page1.xaml, а затем нажмите кнопку «Добавить» внизу. Это создаст новую страницу, показанную на отдельной вкладке в основной области дизайна. Просто для ясности измените заголовок страницы новой страницы на «Новая страница», изменив свойство «Текст» TextBlock. Далее на вкладке MainPage.xaml перетащите кнопку гиперссылки в области дизайна. Теперь измените свойство NavigateUri в окне «Свойства» для кнопки «Гиперссылка». Вставьте следующую строку

/NavigationDemo;component/Views/Page1.xaml

Теперь запустите приложение и нажмите кнопку гиперссылки, указанную в эмуляторе. Вы будете перемещены в Page1.xaml из MainPage.xaml.

Теперь, чтобы отправлять информацию с одной страницы на другую, мы используем Querystring. Поэтому рассмотрите URL-адрес, например, www.abcxyz.com/images.aspx?id=3&language=en. Здесь все после вопросительного знака называется querystring. Вы можете заметить, что у нас есть две пары значений имени, а именно: id = 3 и languae = en. Амперсанд позволяет нам добавлять разные фрагменты информации, в этом случае идентификатор и язык.

Итак, теперь, в продолжение нашего проекта, мы перетаскиваем TextBlock на странице Page1.xaml. Очистите свойство TextBlock.Text и вставьте следующий код C # в событие PhoneApplicationPage_Loaded.

textBlock1.Text = String.Format ("Значение: {0}", NavigationContext.QueryString ["id"]);

So в этой строке кода мы используем NavigationContext, который дает нам доступ к URL-адресу, в частности, к querystring. Мы указываем элемент, который мы хотим получить в квадратных скобках.

Перед запуском приложения мы изменим свойство NavigateUri кнопки гиперссылки на следующий

/NavigationDemo;component/Views/Page1.xaml?id = 1

Мы также перетаскиваем еще одну кнопку гиперссылки в MainPage.xaml и устанавливаем ее свойство navigateUri следующим образом:

/NavigationDemo;component/Views/Page1.xaml?id=2

Теперь, когда вы запустите приложение и нажмите кнопку гиперссылки в эмуляторе, мы сможем увидеть значение идентификатора, переданного из MainPage.xaml. Так легко перемещаться между страницами в приложении Windows Phone 7. Продолжайте практиковать это, пока не получите это правильно. Теперь давайте узнаем о работе с панелью приложений.