Главная » Silverlight » Навигация

0

Читая предыдущие главы, вы научились создавать приложения на основе много­численных предопределенных элементов управления и контейнеров. Однако пока что не были рассмотрены способы перехода с одной страницы на другую. Это крайне важная задача, потому что мощные клиентские приложения чаще всего осно­ваны на переключениях между разными окнами, в каждом из которых инкапсулиро­вана отдельная задача. Чтобы создавать такие же приложения в Silverlight, необходи­мо отказаться от приложений на одной странице и перейти к созданию приложений на многих страницах.

В приложениях Silverlight существует два базовых способа замены страницы. Каждый из них соответствует определенным ситуациям. Первый, "самодельный", спо­соб состоит в непосредственном манипулировании пользовательским интерфейсом вручную. Например, можно написать код, обращающийся к визуальному корневому элементу, удаляющий пользовательский элемент управления, представляющий первую страницу и добавляющий другой элемент, на котором отображена другая страница. Этот способ довольно простой, и для его реализации нужно написать сравнительно не­много кода. Кроме того, он позволяет гибко управлять элементами страницы и созда­вать анимационные эффекты перехода.

Второй способ состоит в использовании встроенной навигационной системы Silverlight, основанной на двух элементах управления: Frame (Фрейм) и Раде (Страница). Базовая идея состоит в том, что один фрейм может выводить по очереди разные стра­ницы. Фактически, реализовать второй способ не легче, чем первый, однако он предо­ставляет ряд дополнительных средств, реализовать которые вручную было бы слишком трудоемкой задачей. Это такие средства, как информативные адреса URI, отслеживание страниц, глубокие ссылки, интеграция с историей браузера и т.д.

Данная глава начинается с краткого рассмотрения первого способа навигации. Затем будет рассмотрен класс ChildWindow, имитирующий модальное диалоговое окно, которое блокирует текущую страницу, но не замещает ее. И наконец, будут рассмотре­ны элементы управления Frame и Раде, позволяющие реализовать базовую навигацион­ную систему Silverlight.

Новые средства. В предыдущих версиях Silverlight можно было использовать только первый способ навигации. В Silverlight 3 добавлены элемент управления ChildWindow и классы Frame и Page, предназначенные для создания систем навигации.

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии