Мэтью Мак-Дональд
Silverlight 3 с примерами на С# для профессионалов
Примеры текста из книги
СОДЕРЖАНИЕ
Об авторе
Благодарности
Введение
Знакомство с Silverlight
Требования к системе, предъявляемые надстройкой Silverlight
Сравнение Silverlight с Flash
Silverlight и WPF
Эволюция Silverlight
О книге
Что нужно для работы с книгой
Дополнительные инструменты Silverlight
Примеры кода
И последнее...
Ждем ваших отзывов!
Глава 1. Введение в Silverlight
Инструменты разработки приложений Silverlight
Сравнение Visual Studio с Expression Blend
Веб-сайты Silverlight
Создание изолированного проекта Silverlight
Создание простой страницы Silverlight
Добавление кода обработки события
Тестирование приложения Silverlight
Создание проекта Silverlight, хостируемого сайтом ASP.NET
Элементы управления ASP.NET, выводящие содержимое Silverlight
Взаимодействие элементов управления ASP.NET и содержимого Silverlight
Компиляция и развертывание приложения Silverlight
Компиляция приложения Silverlight
Развертывание приложения Silverlight
Базовые сборки Silverlight
Сборки дополнений Silverlight
Кеширование сборок
Входная страница HTML
Задание размеров области содержимого Silverlight
Конфигурирование области содержимого Silverlight
Альтернативное содержимое
Облегчение установки для пользователей
Маркер сайта
Резюме
Глава 2. Технология XAML
Основы XAML
Пространства имен XAML
Фоновый класс
Свойства и события в XAML
Преобразование свойств и типов
Составные свойства
Подключенные свойства
Вложение элементов
События
Полное описание приложения EightBall
Ресурсы XAML
Коллекция ресурсов
Иерархия ресурсов
Обращение к ресурсам в коде
Словари ресурсов
Связывание элемента с элементом
Одностороннее связывание
Двустороннее связывание
Резюме
Глава 3. Верстка
Контейнеры
Фон панели
Рамки
Контейнер StackPanel
Свойства, используемые для размещения элементов
Выравнивание
Внешние пустые полоски
Минимальные, максимальные и явно заданные размеры
Контейнеры пакета Silverlight Toolkit
Контейнер WrapPanel
Контейнер DockPanel
Контейнер Grid
Настройка строк и столбцов
Вложение контейнеров
Объединение ячеек
Перетаскиваемые разделители
Контейнер Canvas
Последовательность прорисовки
Отсечение
Пользовательские контейнеры
Двухэтапный процесс размещения
Пользовательский контейнер UniformGrid
Установка размеров страницы
Прокрутка
Масштабирование интерфейса
Полноэкранный режим
Резюме
Глава 4. Зависимые свойства и маршрутизируемые события
Зависимые свойства
Определение и регистрация зависимых свойств
Динамическое разрешение значений
Подключенные свойства
Пример с контейнером WrapBreakPanel
Маршрутизация событий
Базовые события элементов
Подъем событий
Отмена обработанных событий
Пример с поднимающимися событиями
Перемещение указателя
Колесико мыши
Захват мыши
Пример использования событий мыши
Форма указателя
Нажатие клавиши
Модификаторы клавиш
Фокус
Резюме
Глава 5. Элементы
Элементы Silverlight
Статический текст
Свойства шрифтов
Подчеркивание
Форматирование фрагмента текстового блока
Перенос текста
Изображения
Размеры изображения
Ошибки изображений
Элементы ContentControl
Свойство Content
Выравнивание содержимого
Кнопки
Кнопка HyperlinkButton
Кнопки ToggleButton и RepeatButton
Кнопка CheckBox
Кнопка RadioButton
Всплывающие окна и подсказки
Настройка всплывающей подсказки
Всплывающее окно
Элементы, содержащие коллекции
Простой список ListBox
Раскрывающийся список СошЬоВох
Панель с вкладками TabControl
Текстовые элементы управления
Выделение текста
Поле ввода пароля PasswordBox
Поле AutoCompleteBox
Элементы управления на основе полосок
Элемент управления Slider
Элемент управления ProgressBar
Элементы управления датами
Резюме
Глава 6. Модель приложения
Класс приложения
Доступ к текущему приложению
Свойства приложения
События приложения
Запуск приложения
Инициализационные параметры
Закрытие приложения
Необработанные исключения
Заставка
Приложения, выполняемые вне браузера
Включение поддержки приложений вне браузера
Установка приложения вне браузера
Настройка пиктограмм
Отслеживание состояния приложения
Удаление и обновление приложения вне браузера
Двоичные ресурсы
Размещение ресурса в сборке приложения
Размещение ресурса в пакете приложения
Размещение ресурса в Интернете
Сборки библиотечных классов
Использование ресурса в сборке
Загрузка сборки по требованию
Кеширование сборок
Резюме
Глава 7. Навигация
Загрузка пользовательских элементов управления
Внедрение пользовательских элементов управления на страницу
Сокрытие элементов
Управление корневым визуальным элементом
Сохранение состояния страницы
История браузера
Дочернее окно
Создание дочернего окна
Отображение дочернего окна
Элементы Frame и Page
Фреймы
Отображение адресов URI
Навигация вперед и назад
Гиперссылки
Класс Page
Шаблоны навигации
Резюме
Глава 8. Фигуры
Базовые фигуры
Классы фигур
Прямоугольник и эллипс
Установка размеров и размещение фигур
Изменение размеров с помощью класса Viewbox
Отрезок
Полилиния
Многоугольник
Концы и стыки отрезков
Штрихи
Контуры и геометрия
Отрезки, эллипсы и прямоугольники
Объединение фигур с помощью класса GeometryGroup
Создание криволинейных фигур с помощью класса PathGeometry
Геометрический мини-язык
Отсечение
Экспорт графики в XAML
Программа Expression Design
Преобразование форматов
Формат XPS
Резюме
Глава 9. Кисти, преобразования и растровые изображения
Кисти
Кисть LinearGradientBrush
Кисть RadialGradientBrush
Кисть ImageBrush
Прозрачность
Маска
Полупрозрачные элементы управления
Объекты преобразований
Преобразование фигур
Преобразования и контейнеры
Создание эффекта отражения
Перспективные преобразования
Класс PlaneProjection
Применение проецирования
Раскрашивание пикселей
Класс BlurEffect
Класс DropShadowEffect
Класс ShaderEffect
Класс WriteableBitmap
Генерация растрового изображения
Копирование визуального содержимого
Резюме
Глава 10. Анимация
Основы анимации в Silverlight
Правила анимации
Пример простой анимации
Класс анимации
Класс Storyboard
Запуск анимации с помощью триггера события
Запуск анимации в коде
Конфигурирование свойств анимации
Время жизни анимации
Одновременное выполнение нескольких анимаций
Управление воспроизведением
Смягчение анимации
Смягчающие функции
Начало и конец смягчения
Классы смягчающих функций
Классы анимации
Анимация объектов преобразований
Анимация перспективных проекций
Анимация кистей
Анимация раскрашивания пикселей
Анимация на основе ключевых кадров
Определение анимации в коде
Главная страница
Элемент UserControl игры с бомбами
Бросание бомб
Перехват бомб
Подсчет бомб и очистка игры
Инкапсуляция анимаций
Переход между страницами
Базовый класс
Реализация метода занавеса
Анимация на основе кадров
Производительность анимации
Частота кадров
Аппаратное ускорение
Резюме
Глава 11. Звук, видео и глубокое зумирование
Элемент MediaElement
Управление воспроизведением
Обработка ошибок
Одновременное воспроизведение нескольких источников
Изменение громкости, баланса и позиции
Воспроизведение видеофайлов
Списки воспроизведения на стороне клиента
Списки воспроизведения на стороне сервера
Прогрессивный и потоковый режимы загрузки
Адаптивный поток
Расширенные средства воспроизведения видеофайлов
Кодирование видеофайлов
Использование программы Expression Encoder
Маркеры
Кисть VideoBrush
Видеоэффекты
Глубокое зумирование
Создание набора изображений для глубокого зумирования
Использование набора изображений в Silverlight
Резюме
Глава 12. Стили и поведения
Стили
Определение стиля
Применение стиля
Динамические стили
Наследование стилей
Организация стилей
Поведения
Поддержка поведений
Триггеры и действия
Создание поведения
Дополнительные поведения
Резюме
Глава 13. Шаблоны и пользовательские элементы управления
Основы использования шаблонов
Создание шаблона
Повторное использование пользовательского шаблона
Заполнитель ContentPresenter
Связывание шаблонов
Установка шаблонов посредством стилей
Повторное использование цветов
Модель частей и состояний
Состояния кнопки
Индикатор фокуса
Объекты переходов типа VisualTransition
Использование модели частей в ползунке
Создание шаблонов для пользовательских элементов управления
Переворачивающаяся панель FlipPanel
Создание решения
Создание переворачивающейся панели
Добавление стиля
Выбор частей и состояний
Начало создания шаблона, используемого по умолчанию
Элемент управления ToggleButton
Определение анимаций состояний
Использование панели FlipPanel
Использование разных шаблонов
Резюме
Глава 14. Интеграция с браузерами
Взаимодействие с элементами HTML
Получение информации о браузере
Окно HTML
Всплывающее окно
Анализ документа HTML
Манипуляция элементами HTML
Обработка событий JavaScript
Взаимодействие кодов С# и JavaScript
Вызов сценария JavaScript из кода Silverlight
Вызов методов Silverlight из браузера
Создание экземпляра объекта Silverlight в браузере
Объединение содержимого Silverlight и HTML
Управление размерами элемента Silverlight
Размещение элемента управления Silverlight рядом с элементом HTML
Безопасность средств взаимодействия с HTML
Резюме
Глава 15. Веб-службы ASP.NET
Создание веб-служб для Silverlight
Создание веб-службы
Добавление ссылки на службу
Вызов веб-службы
Конфигурирование адреса URL веб-службы
Типы данных веб-служб
Расширенные средства веб-служб
Кроссдоменные вызовы веб-служб
Мониторинг сетевого соединения
Использование веб-служб ASP.NET
Дуплексные службы
Конфигурирование дуплексной службы
Интерфейсы
Код службы
Клиентский код
Резюме
Глава 16. Связывание данных
Привязка к объектам данных
Создание объекта данных
Отображение объекта данных с помощью свойства DataContext
Хранение объекта данных как ресурса
Редактирование при двустороннем связывании
Проверка данных
Извещение об изменении
Создание службы данных
Вызов службы данных
Привязка к коллекции объектов
Вывод и редактирование элементов коллекции
Вставка и удаление элементов коллекции
Привязка к выражению LINQ
Вывод информации по категориям
Преобразование данных
Форматирование строк с помощью преобразователей значений
Создание объектов с помощью преобразователя значений
Условное форматирование
Шаблоны данных
Инкапсуляция и повторное использование шаблонов данных
Более сложные шаблоны данных
Изменение компоновки элементов
Резюме
Глава 17. Элементы управления данными
Формы данных
Разметка класса данных
Элемент Label
Элемент DescriptionViewer
Элемент ValidationSummary
Аннотирование данных
Генерация ошибок аннотирования
Атрибуты аннотирования
Использование общих типов
Элемент DataGrid
Создание простой решетки
Изменение размеров и перестановка столбцов
Определение столбцов
Форматирование и стилизация столбцов
Форматирование строк
Комментарий к строке
Замораживание столбцов
Выделение
Сортировка строк
Редактирование решетки DataGrid
Редактирование с помощью шаблона
События проверки и редактирования
Класс PagedCollectionView
Сортировка
Фильтрация
Группирование
Разбиение на страницы
Элемент TreeView
Заполнение объекта TreeView
Связанный объект TreeView
Резюме
Глава 18. Изолированное хранилище
Концепция изолированного хранилища
Область видимости изолированного хранилища
Что хранят в изолированных хранилищах
Использование изолированного хранилища
Открытие изолированного хранилища
Управление файлами
Запись и чтение данных
Запрос дополнительного пространства
Сохранение объектов с помощью класса XmlSerializer
Сохранение информации приложения
Диалоговые окна доступа к файлам
Чтение локальных файлов с помощью класса OpenFileDialog
Запись локальных файлов с помощью класса SaveFileDialog
Обмен файлами с помощью веб-службы
Резюме
Глава 19. Многопоточность
Основы многопоточности
Назначение многопоточности
Класс DispatcharTimer
Класс Thread
Маршаллизация кода в поток пользовательского интерфейса
Создание оболочки потока
Создание рабочего класса
Использование оболочки потока
Управление потоком
Класс BackgroundWorker
Создание объекта BackgroundWorker
Выполнение потока BackgroundWorker
Индикация прогресса
Поддержка отмены задачи
Резюме
Глава 20. Взаимодействие с сетевыми приложениями
Взаимодействие с веб-сервером
Кроссдоменный доступ
Извлечение данных из HTML-кода
Веб-служба REST и другие простые службы
Обработка разных типов данных
Формат XML
Службы, возвращающие данные XML
Службы, получающие данные XML
Службы, возвращающие данные SOAP
Службы, возвращающие данные JSON
Лента RSS
Сокеты
Сокеты и TCP
Сервер политики
Сервер сообщений
Клиентское приложение
Локальное соединение
Передача сообщения
Получение сообщения
Резюме
Предметный указатель
Перейти на страницу скачивания книги: Мак-Дональд М. - Silverlight 3 с примерами на С# для профессионалов