Главная » Silverlight » Элементы Frame и Page

0

Изменение пользовательского интерфейса вручную приемлемо, если приложение содержит не более нескольких страниц (например, в анимированной игре, состоящей из главного и конфигурационного окон). Кроме того, оно имеет смысл, когда необходим полный контроль над процессами навигации (например, для реализации эффектов пере­хода, см. главу 10). Однако в более традиционных приложениях, в которых пользователь должен переключать большое количество страниц, лучше применить специальные сред­ства навигации, встроенные в Silverlight и значительно сокращающие время разработки.

Встроенные системы навигации основаны на двух элементах управления: Frame и Раде. Из них более важен элемент Frame, потому что на его основе создается контейнер, содержащий средства навигации. Элемент Раде — необязательное дополнение, предостав­ляющее удобный способ отображения разных частей содержимого в окне фрейма. Оба класса предоставляют свойства и методы, позволяющие управлять навигацией в коде.

Фреймы

Фрейм — это элемент управления, производный от класса ContentControl и со­держащий единственный дочерний элемент, предоставляемый посредством свойства

Content.

Класс ContentControl наследуют многие классы, например Button, ListBoxltem, ToolTip, ScrollViewer и так далее, однако элемент Frame особенный: при правильном использовании вам почти никогда не придется обращаться непосредственно к свойству Content. Для изменения содержимого фрейма предназначен высокоуровневый метод Navigate (). Он изменяет свойство Content и активизирует службы навигации, кото­рые отслеживают историю пользовательских; страниц и обновляют URI браузера.

В приведенной ниже разметке определен контейнер Grid, состоящий из двух строк. В верхней строке находится элемент Border, содержащий элемент Frame. Класс Frame имеет свойства BorderBrush и BorderThickness, однако свойства CornerRadius у него нет, поэтому для скруглення рамки необходимо применять элемент Border. В нижней строке решетки Grid находится кнопка, запускающая процесс навигации (рис. 7.4).

Рис. 7.7. Приложение, служащее шаблоном навигации

Рабочая среда Silverlight в программе Visual Studio содержит только один шаблон, показанный на рис. 7.7. Однако команда разработчиков Silverlight создала ряд дополни­тельных шаблонов и поместила их на сайт www. tinyurl. com/ktv4vu. В них используют­ся разнообразные визуальные стили и по-разному размещаются кнопки. В ближайшем будущем ожидается появление огромного количества профессиональных шаблонов на сайте Expression Community Gallery по адресу www. gallery .expression .microsoft .com.

Резюме

В данной главе мы перешли от приложений с одной страницей к настоящим прило­жениям со многими страницами и средствами навигации между ними. Сначала были рассмотрены простые, "самодельные", методы навигации, основанные на сокрытии страниц и замене содержимого вручную. Эти методы весьма трудоемкие и не предо­ставляют достаточной гибкости, они лишь имитируют навигацию. Затем был рассмо­трен класс ChildWindow, позволяющий создавать всплывающие окна. И наконец, были рассмотрены стандартные средства навигации, встроенные в Silverlight, — классы Frame и Раде. Они специально разработаны для переключения между страницами, под­держивают глубокие ссылки и позволяют отслеживать переходы с помощью списка истории браузера.

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

По теме:

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