Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
course_(Windows&Web).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.68 Mб
Скачать

Оглавление

Разделы дисциплины и виды занятий в часах 11

Общая информация о курсе 12

Введение 14

Об авторах 15

Лекция 1. Краткое знакомство с моделью программирования XAML. 16

Краткий экскурс в историю графических интерфейсов пользователя 16

Windows Presentation Foundation – три в одном 18

Декларативное программирование UI и XAML 18

Основы модели UI и XAML 19

Элементы XAML 20

Панели 20

Элементы управления 20

Графические примитивы 21

Службы документов 21

Преобразования и анимация 21

Ресурсы и стили 22

Разделение труда дизайнера и разработчика 23

XAML – текущая поддержка 24

Модель программирования XAML 25

Ключевые термины 29

Краткие итоги 30

Набор для практики 31

Тесты 31

Задача 1. 31

Задача 2. 31

Задача 3. 32

Задача 4. 32

Задача 5. 33

Задача 6. 33

Задача 7. 34

Задача 8. 34

Задача 9. 35

Задача 10. 35

Литература 36

Лабораторная работа 1. Размещение элементов управления. 37

Задания для самостоятельного выполнения 37

Учебный элемент. Создание нового проекта для Silverlight в VisualStudio 2010. 37

Шаг 1. Создание проекта 37

Шаг 2. Добавляем элементы интерфейса для XAML-страниц 40

Учебный элемент. Silverlight: размещение элементов. 42

Шаг 1. Принципы разметки 43

Шаг 2. Создаем Twitter-приложение 46

Шаг 3. Навигация 48

Шаг 4. Размещаем элементы для страницы поиска 48

Шаг 5. Изменяем UriMapper для Search.xaml 50

Краткие итоги 51

Литература 51

Лекция 2. Сведения о WPF и Silverlight: Введение и архитектура платформ. 52

Windows Presentation Foundation 52

Независимость от разрешения 52

Архитектура Silverlight 54

Состав ядра представления: 55

В подмножество .NET Framework входят: 56

Архитектура WPF 57

Иерархия классов 59

Элементы управления WPF 61

Компоновочные элементы управления в системе WPF 63

Ключевые термины 66

Краткие итоги 67

Набор для практики 67

Тесты 67

Задача 1. 67

Задача 2. 68

Задача 3. 68

Задача 4. 69

Задача 5. 69

Задача 6. 70

Задача 7. 70

Задача 8. 71

Литература 71

Лекция 3. Стили и шаблоны элементов управления WPF. 72

Стили 72

Создание стиля 73

Использование стиля 74

Размещение стилей 75

Основы шаблонов 76

Создание шаблона 77

Повторное использование шаблона Control’а 78

ContentPresenter 79

Связывание в Шаблонах 80

Установка шаблонов через стили 81

Повторное использование настроек цвета 83

Ключевые термины 84

Краткие итоги 84

Набор для практики 84

Тесты 84

Задача 1. 84

Задача 2. 85

Задача 3. 85

Задача 4. 86

Задача 5. 86

Задача 6. 87

Задача 7. 87

Литература 88

Лабораторная работа 2. Стили и ресурсы. 89

Задания для самостоятельного выполнения 89

Учебный элемент. Стили и ресурсы в WPF 89

Шаг 1. Применение стиля в XAML документе 89

Шаг 2. Динамическое применение стилей в коде приложения 93

Краткие итоги 97

Литература 97

Лекция 4. Silverlight и WPF в Visual Studio 2010. 98

Новые возможности WPF 4. 98

WPF история становления 98

WPF 3.0. 98

WPF 3.5. 98

WPF 3.5 SP1. 98

WPF 4. 98

Visual Studio 2010 и WPF. 99

Поддержка множества целевых платформ 99

Клиентский профиль .NET 100

Визуальный конструктор Visual Studio 101

Новые средства WPF 4 102

Новые элементы управления. 102

Диспетчер визуального состояния. 102

Поддержка Multitouch 102

Windows 7 Shell Intergration 103

Updated File Dialogs 104

Custom Dictionary 104

Графика 104

Текст 106

XAML 107

Ключевые термины 110

Краткие итоги 111

Набор для практики 111

Тесты 112

Литература 112

Лекция 5. Silverlight и WPF в Visual Studio 2010 (продолжение). 113

Новые возможности Silverlight 4. Silverlight 5: основные нововведения ожидаемого релиза. 113

Хронология Silverlight 113

Обзор Silverlight 5 116

Поддержка 64-битной платформы 117

Улучшенное управление питанием 117

Копирование изображений 117

Поддержка 3D 117

Поддержка Behaviors и Triggers 117

Layout transition 117

Связывание с данными 118

Поддержка Full-Trust внутри браузера 118

Обработка множественного нажатия кнопки мыши 118

Поддержка выбора элементов в ItemsControl с клавиатуры 119

Повышение полномочий для приложений в браузере 120

Поддержка нескольких окон 122

Доступ к файловой системе для приложений с повышенными привилегиями 123

Установка имени файла по умолчанию в SaveFileDialog 124

Улучшение работы с аудио 124

Изменение скорости проигрывания медиа 124

Поддержка пульта дистанционного управления 125

Работа с текстом 125

Печать 126

P/Invoke 126

Отладка при связывании с данными 127

Улучшенная поддержка шаблона MVVM 129

Использование связывания в стилях 131

Неявные шаблоны 131

Другие изменения 133

Краткие итоги 134

Набор для практики 134

Тесты 134

Задача 1. 134

Задача 2. 135

Задача 3. 135

Задача 4. 136

Задача 5. 136

Задача 6. 137

Литература 138

Лекция 6. Привязка данных в технологиях WPF и Silverlight 139

Принципы работы с данными 139

Модель данных в .NET 139

Всепроникающее связывание 140

Преобразование данных 141

Ресурсы 141

Основные принципы связывания 145

Привязка к объектам CLR 147

Редактирование 149

Ключевые термины 152

Краткие итоги 153

Набор для практики 153

Тесты 154

Задача 1. 154

Задача 2. 154

Задача 3. 155

Задача 4. 155

Задача 5. 156

Задача 6. 156

Задача 7. 157

Литература 157

Лекция 7. Пользовательские элементы управления. 158

UserControl или CustomControl? 158

UserControl 159

Шаг 1. Создание повторно используемой функциональности 159

Шаг 2. Добавление обработки событий клавиатуры 162

Шаг 3. Инкапсуляция разметки и логики в элемент управления UserControl 164

Использование пользовательского элемента управления 166

CostomControl 167

Шаг 1. Рефакторинг кода адресной формы 167

Шаг 2. Рефакторинг кода разметки указателя цвета 170

Шаг 3. Оптимизация шаблона элемента управления 172

Ключевые термины 175

Краткие итоги 175

Набор для практики 175

Тесты 175

Задача 1. 175

Задача 2. 176

Задача 3. 176

Задача 4. 177

Задача 5. 178

Задача 6. 178

Задача 7. 179

Литература 179

Лабораторная работа 3. Пользовательские элементы управления. 181

Задания для самостоятельного выполнения 181

Учебный элемент. Создание пользовательского элемента управления средствами дизайнера VisualStudio 181

Шаг 1. Создание Silverlight проекта  181

Шаг 2. Создание пользовательского элемента управления 182

Шаг 3. Class CustomControlDemo 184

Шаг 4. Template CustomControlDemo 184

Шаг 5. Использование Custom Control 185

Учебный элемент. Создание пользовательского элемента управления средствами дизайнера Expression Blend 186

Шаг 1. Инкапсуляция UI в User Control 186

Шаг 2. Привязка адресов к нашему AddressUserControl – контроллеру. 189

Краткие итоги 192

Литература 192

Лекция 8. Использование событий, команд и триггеров в технологиях WPF и Silverlight 193

Принципиальные основы действий 193

Композиция элементов 194

Слабая связь 195

Декларативные действия 196

События 197

Команды 199

Команды и привязка к данным 204

Триггеры 206

Добавление триггеров к данным 207

Добавление триггеров к элементам управления 209

Краткие итоги 210

Набор для практики 210

Тесты 210

Задача 1. 210

Задача 2. 211

Задача 3. 212

Задача 4. 213

Задача 5. 213

Задача 6. 214

Задача 7. 214

Задача 8. 215

Литература 215

Лабораторная работа 4. Использование команд в технологиях WPF и Silverlight 216

Задания для самостоятельного выполнения 216

Учебный элемент. Использование стандартных и нестандартных команд 216

Шаг 1. Использование стандартных команд. 216

Шаг 2. Использование нестандартных команд. 217

Шаг 3. Перевод команд из неактивного состояния в активное и обратно. 218

Краткие итоги 219

Литература 219

Лекция 9. Применение паттерна MVVM как оптимального при проектировании WPF и Silverlight приложений 220

Паттерн Model-View-ViewModel (MVVM) 220

Обязанности и характеристики классов. 220

Класс представления (View). 221

Класс модели представления (View Model). 222

Представление или Модель Представления? 223

Класс модели (Model). 224

Взаимодействие классов. 225

Привязка данных. 225

Реализация INotifyPropertyChanged. 226

Реализация INotifyCollectionChanged. 226

Реализация ICollectionView. 227

Команды. 228

Реализация Command Objects. 229

Подтверждение правильности данных и сообщение об ошибках. 229

Реализация IDataErrorInfo. 230

Создание и соединение. 231

Создание модели представления через XAML. 232

Создание модели представления программно. 232

Создание представления, определенного как шаблон данных. 233

Краткие итоги 234

Набор для практики 234

Тесты 234

Задача 1. 234

Задача 2. 235

Задача 3. 235

Задача 4. 236

Задача 5. 237

Задача 6. 237

Задача 7. 238

Литература 238

Лабораторная работа 5. Реализация WPF проекта с помощью MVVM toolkit’а 239

Задания для самостоятельного выполнения 239

Учебный элемент. Реализация паттерна MVVM средствами Model-View-ViewModel Toolkit 0.1 239

Шаг 1. Постановка задачи 240

Шаг 2. Model 241

Шаг 3. ViewModel 241

Шаг 4. View 242

Шаг 4. Редактирование 243

Шаг 5. Команды 245

Краткие итоги 247

Литература 247

Лекция 10. Проектирование приложения с учетом использования единого опыта разработки для настольных и Web-проектов. 248

Подходы к решению задачи 248

Разработка кроссплатформенного проекта с самого начала 248

Разработка для одной платформы с последующим портированием на другую 248

Инструментарий 249

Создание ссылок на файлы в Visual Studio 249

Создание ссылок на XAML файлы 250

Директивы препроцессора 254

Разделяемые классы 254

Синхронное использование XAML 255

Решение проблем недостающего функционала 255

Отсутствие FrameworkPropertyMetadata 255

Отсутствие приведения значения 256

Отсутствие метода OverrideMetadata() 256

Отсутствие зависимых свойств только для чтения 258

Отсутствие класса Brushes 259

Stroke и Pen 259

Конструкторы по умолчанию для геометрий 259

Отсутствие свойства No PathSegment.IsStroked 260

Краткие итоги 263

Набор для практики 263

Тесты 263

Задача 1. 263

Задача 2. 264

Задача 3. 264

Задача 4. 264

Задача 5. 265

Литература 265

Лекция 11. Реализация паттерна MVVM с использованием IoC-контейнера, как метод избавления от зависимости между компонентами системы. 266

Принцип инверсии зависимостей 266

Формы инверсии зависимостей 268

IoC контейнер 270

MEF 270

MVVM и IoC 273

Определение моделей представления 273

Определение представлений 274

Сопоставление модели представления и представления 274

Реализация INotifyPropertyChanged средствами аспектно-ориентированного программирования 277

Краткие итоги 280

Набор для практики 280

Тесты 281

Задача 1. 281

Задача 2. 281

Задача 3. 282

Задача 4. 282

Задача 5. 283

Литература 283

Лекция 12. Особенности отображения диалоговых окон в WPF и Silverlight версиях приложения. 284

Понятие ICloseableViewModel и IChildViewModel 284

Понятие IChildViewModelManager 285

ChildViewManager 287

Реализация ChildViewModelBase 292

Реализация ModalChildViewModelBase 294

Реализация MessageViewModel 295

Краткие итоги 298

Литература 298

Лабораторная работа 6. Построение кроссплатформенного Silverlight/WPF приложения. 299

Создание проектов 299

Краткие итоги 310

Список литературы 311

Разделы дисциплины и виды занятий в часах

раздела

Наименования лекции (лабораторной работы)

Кол-во часов лек. / л. р.

Лекция 1. Краткое знакомство с моделью программирования XAML

2 ч.

Размещение элементов управления

2 ч.

Лекция 2. Сведения о WPF и Silverlight: Введение и архитектура платформ

2 ч.

Лекция 3. Стили и шаблоны элементов управления WPF

2 ч.

Лабораторная работа 2. Стили и ресурсы

2 ч.

Лекция 4. Silverlight и WPF в Visual Studio 2010

2 ч.

Лекция 5. Silverlight и WPF в Visual Studio 2010 (продолжение)

2 ч.

Лекция 6. Привязка данных в технологиях WPF и Silverlight

2 ч.

Лекция 7. Пользовательские элементы управления

2 ч.

Лабораторная работа 3. Пользовательские элементы управления

2 ч.

Лекция 8. Использование событий, команд и триггеров в технологиях WPF и Silverlight

2 ч.

Лабораторная работа 4. Использование команд в технологиях WPF и Silverlight

2 ч.

Лекция 9. Применение паттерна MVVM как оптимального при проектировании WPF и Silverlight приложений

2 ч.

Лабораторная работа 5. Реализация WPF проекта с помощью MVVM toolkit’а

4 ч.

Лекция 10. Проектирование приложения с учетом использования единого опыта разработки для настольных и Web-проектов

2 ч.

Лекция 11. Реализация паттерна MVVM с использованием IoC-контейнера, как метод избавления от зависимости между компонентами системы

2 ч.

Лекция 12. Особенности отображения диалоговых окон в WPF и Silverlight версиях приложения

2 ч.

Лабораторная работа 6. Построение кроссплатформенного Silverlight/WPF приложения

6 ч.

Итого

24ч.

18ч.

Общая информация о курсе

Название курса: Методология синхронной разработки Windows и Web версий бизнес-приложения средствами Microsoft Visual Studio 2010

Название курса на английском языке: Methodology of Windows and Web cross-platform business application development using Microsoft Visual Studio 2010.

Краткая аннотация: Разработка корпоративной системы все чаще подразумевает единовременное создание двух версий одного продукта – Windows и Web приложений, функциональность которых идентична. Оптимизацией решения задачи может служить синхронная разработка двух версий продукта средствами WPF и Silverlight технологий.

Подробное описание: Использование единого опыта разработки настольных и Web-проектов кажется сложновыполнимой задачей даже после выхода их последних версий. Но при правильном проектировании архитектуры проекта разработчику представится возможность большую часть кода (а в большинстве случаев – весь код) использовать одновременно в обеих версиях корпоративного бизнес-приложения. WPF и Silverlight создают новую парадигму в разработке приложений, используя единую базовую технологию декларативного программирования. Они идеально накладываются на шаблон проектирования MVVM в качестве основного архитектурного решения, упрощающего использование разделенного кода и дальнейшее расширение приложения.

Цель курса: Целью данного курса является ознакомление слушателей с методологией синхронной разработки двух версий информационной системы – Windows и Web приложений, средствами технологий WPF и Silverlight.

Предварительные знания: Слушатель должен иметь хорошее представление об объектно-ориентированном программировании (желательно на языке C#), знаком с архитектурой Microsoft.NET Framework и навыками работы в одной из версий Microsoft Visual Studio.

Дополнительные курсы

  • Основы XAML·

https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8199

  • Введение в разработку приложений на Windows Presentation Foundation

http://www.intuit.ru/department/se/devwpf/

  • Методика создания интерактивных приложений Silverlight

https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8482

  • Разработка приложений на базе WPF и Silverlight

https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8822

Авторы: Виденин Сергей Александрович, Гризан Сергей Алексеевич.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]