Звоните: (067) 644-70-74
Напишите нам burtrest@gmail.com
Просмотр корзины Вы отложили “Ruby Язык программирования. Фланаган” в свою корзину.

Книга Silverlight. Практическое руководство. Браун

430.30 грн.

Артикул: 13d8376d3263 Категория:

Описание

год-2012

816 страниц

Мощная программная платформа Silverlight открывает новые горизонты в создании интернет-приложений. Благодаря этому подробному практическому руководству вы сможете уверенно проектировать, разрабатывать и распространять насыщенные интерактивные приложения при помощи Silverlight. В книге Silverlight. Практическое руководство. Браун освещены все необходимые темы, начиная с вводной информации о Silverlight до структурирования и окончательной доработки приложений. Материал излагается так, чтобы максимально облегчить применение полученных знаний на практике. Разобранные примеры позволят вам исследовать гибкую компоновку страницы, расширяемость элементов управления, модели обмена информацией и связывания, насыщенные медийные компоненты, анимацию и многое другое.

Оглавление книги
Silverlight. Практическое руководство. Браун
Предисловие .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 14
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Об этой книге .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 18
Целевая аудитория . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Необходимые инструменты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Путевая карта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Условные обозначения в коде и материалы для скачивания .  .  .  .  .  .  .  .  .  .  . 22
Об авторе .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 22
От издательства .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 24
Часть I. Введение в Silverlight
Глава 1. Введение в Silverlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.1. Silverlight и Веб .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 27
1.2. Silverlight и WPF .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 28
1.3. Типы приложений Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 29
1.4. Приступаем к разработке в Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 29
1.5. Создание первого веб-приложения в Silverlight . . . . . . . . . . . . . . . . . 31
1.6. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 41
Глава 2. Основы XAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.1. Введение в XAML .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 43
2.2. Деревья объектов и область имен .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 58
2.3. Расширения XAML и конвертеры типов . . . . . . . . . . . . . . . . . . . . . . . 62
2.4. Загрузка XAML во время исполнения .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 67
2.5. Инструменты для работы с XAML .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 70
2.6. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 71
Глава 3. Модель приложения и плагин .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 72
3.1. Модель приложения Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 73
3 .2 . Создание плагина Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 83
3.3. Интеграция плагина Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 89
3.4. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 99
Глава 4. Интеграция с браузером .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 100
4.1. Silverlight и объектная модель HTML-документа . . . . . . . . . . . . . . . . 100
4.2. Манипулирование веб-страницей из управляемого кода .  .  .  .  .  .  .  .  . 103
4.3. Работа с окном пользовательского браузера . . . . . . . . . . . . . . . . . . 107
4.4. Объединение областей скриптового и управляемого кода . . . . . . . . 110
4.5. Размещение HTML в Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 114
4.6. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 124
Глава 5. Интеграция с локальным компьютером . . . . . . . . . . . . . . 125
5.1. Silverlight вне браузера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.2. Создание внебраузерных приложений .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 131
5.3. Экранирование «песочницы» — доверенные приложения .  .  .  .  .  .  .  . 141
5.4. Доступ к локальным файлам .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 145
5.5. Автоматизация COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.6. Управление хост-окном .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 153
5.7. Работа в полноэкранном режиме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 159
5.8. Хранение данных в изолированном хранилище . . . . . . . . . . . . . . . . 162
5.9. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 171
Глава 6. Отображение, компоновка и трансформация . . . . . . . . . 173
6.1. UIElement и FrameworkElement .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 174
6.2. Процесс визуализации .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 182
6.3. Система компоновки .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 191
6.4. Преобразования визуализации . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
6.5. Преобразования в 3D-проекции .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 203
6.6. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 207
Глава 7. Панели .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 209
7.1. Canvas .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 209
7.2. StackPanel .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 213
7.3. Grid .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 215
7.4. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Глава 8. Пользовательский ввод данных . . . . . . . . . . . . . . . . . . . . . 227
8.1. Отслеживание ввода с клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . 228
8.2. Ввод мышью .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 232
8.3. Использование мультитач .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 236
8.4. Рисование с помощью пера .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 237
8.5. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 241
Глава 9. Текст .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 242
9.1. Система работы с текстом .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 243
9.2. Вывод текста .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 246
9.3. Встроенные шрифты .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 256
9.4. Ввод и редактирование текста .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 257
9.5. Ввод и отображение насыщенного (форматированного) текста . . . . 265
9.6. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 273
Глава 10. Элементы управления
и пользовательские элементы управления . . . . . . . . . . . . . . . . . 275
10.1. Элемент управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
10.2. ContentControl .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 279
10.3. Элементы управления — кнопки . . . . . . . . . . . . . . . . . . . . . . . . . . 281
10.4. Списковые элементы управления .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 286
10.5. Создание пользовательских элементов управления . . . . . . . . . . . . 293
10.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Часть II. Структурирование
приложения
Глава 11. Связывание .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 302
11.1. Связывание данных .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 303
11.2. Понятие об источнике связывания .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 308
11.3. Настройка отображения .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 319
11.4. Создание шаблонов данных .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 324
11.5. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Глава 12. Элементы управления данными:
DataGrid и DataForm .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 328
12.1. DataGrid .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 328
12.2. DataForm .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 337
12.3. Аннотирование для отображения .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 347
12.4. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Глава 13. Валидация ввода .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 352
13.1. Исходный код и пользовательский интерфейс
примера валидации .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 353
13.2. Валидация свойств на основе исключений .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 357
13.3. Синхронная валидация при помощи IDataErrorInfo .  .  .  .  .  .  .  .  .  .  .  .  . 360
13.4. Асинхронная валидация с применением INotifyDataErrorInfo .  .  .  .  .  . 366
13.5. Аннотирование для валидации .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 373
13.6. Сравнение методов валидации .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 380
13.7. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Глава 14. Работа в сети и механизмы коммуникации . . . . . . . . . . 382
14.1. Доверие, безопасность и ограничения, присущие браузерам . . . . . 383
14.2. Соединение с источниками данных . . . . . . . . . . . . . . . . . . . . . . . . 389
14.3. Клиентский HTTP-стек .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 403
14.4. Обеспечение удобства работы с данными . . . . . . . . . . . . . . . . . . . 409
14.5. Использование усложненных служб .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 416
14.6. Соединение с другими приложениями Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 429
14.7. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Глава 15. Навигация и диалоговые окна . . . . . . . . . . . . . . . . . . . . . 434
15.1. Основы навигации в браузере .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 435
15.2. Шаблон навигационного приложения .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 438
15.3. Навигация по страницам .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 444
15.4. Навигация вне браузера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
15.5. Отображение диалоговых и всплывающих окон .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 461
15.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Глава 16. Структурирование и тестирование
с применением паттерна MVVM/ViewModel . . . . . . . . . . . . . . . . . 471
16.1. Настройка проекта и традиционный подход с выделением кода .  .  . 472
16.2. Основы паттерна Model-View-ViewModel .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 481
16.3. Факторизация многократно используемого кода .  .  .  .  .  .  .  .  .  .  .  .  .  . 490
16.4. Улучшенное разграничение с пользовательским интерфейсом .  .  .  . 495
16.5. Тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
16.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Глава 17. Службы WCF RIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
17.1. Архитектура, инструментарий и шаблоны служб WCF RIA .  .  .  .  .  .  .  . 520
17.2. Предоставление данных при помощи службы домена .  .  .  .  .  .  .  .  .  .  . 525
17.3. Фильтрация, сортировка, группирование
и разбивка на страницы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
17.4. Обновление данных .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 551
17.5. Слабое связывание: использование моделей представления . . . . . 560
17.6. Бизнес-логика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
17.7. Аутентификация и авторизация . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
17.8. Резюме .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 576
Часть III. Окончательная доработка
приложения
Глава 18. Графика и эффекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
18.1. Класс Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
18.2. Класс Geometry .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 585
18.3. Кисти .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 589
18.4. Эффекты .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 596
18.5. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Глава 19. Печать . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
19.1. Как в Silverlight организована печать .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 609
19.2. Печать содержимого экрана .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 617
19.3. Выделенные деревья для многостраничной печати . . . . . . . . . . . . 624
19.4. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Глава 20. Отображение и запись медиаданных . . . . . . . . . . . . . . . 642
20.1. Аудио и видео .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 643
20.2. Плей-листы .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 655
20.3. Интерактивное воспроизведение .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 659
20.4. Использование защищенного содержимого . . . . . . . . . . . . . . . . . . 662
20.5. Использование медийного фреймворка Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  . 664
20.6. Работа с первичными ресурсами .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 667
20.7. Работа с веб-камерой .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 680
20.8. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Глава 21. Работа с растровыми изображениями . . . . . . . . . . . . . . 692
21.1. Основы работы с изображением .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 692
21.2. Создание изображений во время исполнения .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 693
21.3. Deep Zoom .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 701
21.4. Работа с неиспользуемым пространством .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 707
21.5. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Глава 22. Анимация и поведения .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 712
22.1. Анимация: вопрос времени .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 713
22.2. Управление шкалой времени .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 714
22.3. Раскадровка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
22.4. Построение ключевых кадров . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
22.5. Функции плавности .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 736
22.6. Поведения, триггеры и действия .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 741
22.7. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
Глава 23. Ресурсы, стили и шаблоны элементов управления . . . 746
23.1. Ресурсы в Silverlight .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 746
23.2. Оформление элементов .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 757
23.3. Создание шаблонов .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 763
23.4. Работа с визуальными состояниями .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 769
23.5. Совместное использование визуальных состояний .  .  .  .  .  .  .  .  .  .  .  .  . 775
23.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
Глава 24. Создание панелей и элементов управления .  .  .  .  .  .  .  .  . 777
24.1. Создание пользовательской панели .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 778
24.2. Создание пользовательского элемента управления . . . . . . . . . . . . 789
24.3. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
Глава 25. Порядок установки и прелоадеры .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 799
25.1. Работа со сценариями вида «Silverlight не установлен» . . . . . . . . . 799
25.2. Создание пользовательского прелоадера .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 803
25.3. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
Приложение. Установка базы данных,
соединения и модели данных
Установка базы данных AdventureWorks .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 809
Подключение к базе данных и понятие сущностей .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 810
Выбираем создаваемые сущности .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 814