Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологии программирования / источники / ++ Введ в совр Веб-техн 1-22 / 22. +ЛР Знакомство с Silverlight (продолжение

.doc
Скачиваний:
192
Добавлен:
10.05.2015
Размер:
8.41 Mб
Скачать

22. ЛР: Знакомство с Silverlight (продолжение)

Содержание

Часть 1. Создание цветовой анимации

Часть 2. Создание интерактивных элементов

1. Рисование фигур и группировка объектов.

2. Создание первой анимации: эллипс.

3. Создание второй анимации: прямоугольник.

4. Создание третьей анимации: треугольник.

Часть 3. Создание гиперссылок

1. Создание цепочки гиперссылок на страницах

2. Создание отдельной страницы ссылок.

3. Редактирование HTML-страницы

Часть 1. Создание цветовой анимации

Добавьте к приложению, созданному в предыдущей работе, ещё одну страницу (Page) с именем AnimateColor.xaml.

Создайте несколько текстовых блоков и примените к ним стиль.

Создайте StoryBoard с именем sbColor, установите курсор на 1 сек и измените цвета текстовых блоков. Теперь выделите StoryBoard, щёлкнув мышью по его имени (прямо под заголовком панели Objects and Timeline) и на панели свойств задайте вечный повтор с авто-реверсом (рис. 22.1).

Рис. 22.1. Настройка анимации на бесконечный повтор с авто-реверсом

Запуск анимации задайте таким же образом, как и в предыдущем задании.

Перед запуском приложения измените свойство Source навигационного фрейма на главной странице - укажите в нём страницу AnimateColor.xaml.

Часть 2. Создание интерактивных элементов

1. Рисование фигур и группировка объектов.

Добавьте к приложению ещё одну страницу с именем Interactions.xaml.

Изобразите на ней нечто подобное рис. 22.2

Рис. 22.2. Пример нескольких графических объектов, используемых для демонстрации интерактивной анимации

Для рисования фигур используйте инструменты Прямоугольник и Эллипс, которые совмещаются на одной кнопке панели инструментов (рис. 22.3).

Рис. 22.3. Выбор инструментов Прямоугольник, Эллипс и Линия на панели

К эллипсу применена радиальная градиентная заливка (рис. 22.4).

Рис. 22.4. Настройка радиальной градиентной заливки

Прямоугольник залит сплошным цветом, а его рамка (Stroke) имеет относительно большую толщину (StrokeThickness), к которой применена градиентная радиальная заливка (рис. 22.5).

Рис. 22.5. Настройка толщины и градиентной заливки для рамки

Треугольник можно нарисовать, например, пользуясь инструментом Pen - выбрав его, щёлкните мышью в трёх точках и, чтобы замкнуть фигуру, снова щёлкните в начальной точке. После этого к фигуре (Path) можно применять любую заливку.

Нарисовав текстовые блоки, объедините их с соответствующими фигурами - это целесообразно сделать, поскольку анимация будет применена к каждой фигуре с надписью как к единому целому. Для этого: выделите фигуру и надпись (например, воспользовавшись инструментом Selection и обведя их мышью, либо щёлкнув по их названиям в дереве объектов, удерживая Ctrl) и примените команду меню Object - Group into - Canvas. При этом в дереве объектов появятся элементы Canvas (холсты), которые сами по себе невидимы (если не применить к ним заливки), но выполняют группирующую функцию, как видно в дереве объектов (рис. 22.6).

Рис. 22.6. Сгруппированные объекты в дереве объектов

Именно к холстам будет применена анимация.

2. Создание первой анимации: эллипс.

Пусть эллипс с надписью (а точнее, группирующий их холст) при щелчке мыши увеличивается в размере, становясь прозрачным - как бы растворяется в странице.

Создайте объект StoryBoard с именем sbDissolveEllipse, установите курсор на 1 сек и назначьте холсту два свойства: трёхкратное увеличение (рис. 22.7) и нулевую непрозрачность (Opacity).

Рис. 22.7. Установка масштабирования объекта

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

3. Создание второй анимации: прямоугольник.

Прямоугольник пусть при подведении указателя дважды переворачивается. Для этого создайте объект StoryBoard с именем sbFlipRect, установите курсор на 0,5 сек и назначьте холсту поворот вокруг оси X порядка 360 градусов (рис. 22.8).

Рис. 22.8. Установка проекции (поворота холста)

Привязав к холсту с прямоугольником поведение ControlStoryboardAction, в качестве события, инициирующего запуск анимации, выберите MouseEnter (вход указателя мыши в область объекта).

4. Создание третьей анимации: треугольник.

Этот объект при нажатии клавиши мыши пусть улетает за пределы страницы, вращаясь, уменьшаясь и делаясь прозрачным. Сделайте эту анимацию самостоятельно.

Часть 3. Создание гиперссылок

1. Создание цепочки гиперссылок на страницах

Перейдите на страницу AnimatePosition.xaml, закройте активный StoryBoard (чтобы случайно не записать что-либо) и перетащите на страницу элемент HyperlinkButton из группы Locations панели Assets. В свойствах гиперссылки укажите Content и NavigateUri (рис. 22.9р).

Рис. 22.9. Настройка свойств гиперссылки

Теперь в работающем приложении можно переходить со страницы AnimatePosition.xaml на страницу AnimateColor.xaml, нажимая на гиперссылку. Аналогично свяжите и страницу AnimateColor с Interactions.

2. Создание отдельной страницы ссылок.

Добавьте к приложению ещё одну страницу с именем Links.xaml и поставьте ссылку на неё на странице Interactions.xaml.

Для размещения на странице Links двух наборов гиперссылок (внутренних и внешних) воспользуемся элементом управления TabControl. Найдите его в группе Locations на панели Assets, перетащите на страницу и расширьте (воспользовавшись инструментом Selection), как показано на рис. 22.10.

Рис. 22.10. Размещение элемента TabControl на странице

Чтобы дать вкладкам заголовки, на панели свойств во вкладке Common Properties нажмите кнопку с многоточием напротив Items (Collection) и в открывшемся редакторе вкладок измените свойство Header у обоих элементов - один назовите "Внутренние", а второй - "Внешние" (рис. 22.11).

Рис. 22.11. Настройка свойств вкладок

Кроме того, уберите белый фон элемента TabControl (рис. 22.12).

Рис. 22.12. Удаление фонового цвета

Теперь разместите на вкладке "Внутренние" гиперссылки на все созданные в данной работе страницы, а на вкладке "Внешние" - 2-3 ссылки на внешние ресурсы. Для того, чтобы разместить какой-либо элемент во вкладке, следует сначала выделить вкладку в дереве объектов, а затем перетащить требуемый элемент (в данном случае - гиперссылку) в окно конструктора (рис. 22.13).

Рис. 22.13. Добавление гиперссылки на вкладку

Для внешних гиперссылок свойство NavigateUri следует задавать в полном виде (например, http://www.w3.org), не опуская названия протокола. Кроме того, для свойства TargetName введите значение _new (новое окно браузера), как показано на рис. 22.14.

Рис. 22.14. Настройка свойств гиперссылки

3. Редактирование HTML-страницы

Найдите в папке с вашим Silverlight-приложением страницу TestPage.html (подкаталог Bin\Debug), создайте её копию и при помощи стилей центрируйте объект на странице.

7