Рекомендуем

Ключевые слова:
C#Web-программирование
РНР: Полезные приемыОрлов А. А. РНР: Полезные приемы
Протоколы InternetСеменов Ю. А. Протоколы Internet
Построение Интернет-приложений на языке JavaФридман А.Л. Построение Интернет-приложений на языке Java

Книга

Декларативное программирование на языке XAML + C#. WPF проекты

Курс лекций
Тиражирование книги начато в 2022 г.
320 стр.
Формат 60х90/16 (145x215 мм)
Исполнение: в мягкой обложке
ISBN 978-5-9912-0971-7
ББК 32.97
УДК 004.438(075.8)
Гриф
Рекомендовано Региональным отделением в уральском федеральном округе (РО в УрФО) Федерального учебно-методического объединения вузов Российской Федерации по информационной безопасности (ФУМО ИБ) в качестве учебного пособия для специальностей и направлений подготовки укрупненной группы специальностей 10.00.00 – "Информационная безопасность"
Аннотация

Рассмотрен современный подход к созданию оконного интерфейса, реализуемый в WPF-проектах декларативным языком разметки XAML в сочетании с императивным кодом на языке C#. Формализм XAML рассматривается по мере возрастания сложности, начиная с простейших конструкций, иллюстрированных многочисленными примерами. Для элементов управления, представляющих «строительные блоки» каркаса окна, рассматриваются свойства, события и методы, обеспечивающие их функционирование. Отдельная лекция посвящена стилям, которые отвечают за внешний вид элементов, а также триггерам, отвечающим за интерактивность на уровне кода разметки. Подробно рассмотрены «свойства зависимостей», которые открывают совершенно новый подход к отслеживанию поведения иерархических данных, а также маршрутизацию событий. Подробно рассмотрена привязка данных, которая является основным механизмом взаимодействия данных с их представлением. Окнам и страницам, а также навигации посвящено еще две лекции. Отдельные лекции посвящены работе с документами, а в завершение: создание многопоточного приложения, работа с панелью задач и публикация приложения. Предполагается, что читатель знаком с языком программирования C#.

Материал содержит многочисленные примеры, которые тестировались в Visual Studio 2019 для платформы .NET 5.0. Листинги доступны для скачивания на сайте издательства. Для студентов вузов и аспирантов, изучающих программирование на языке С#, а также преподавателей, читающих эти дисциплины, будет полезно читателям, самостоятельно изучающим программирование на языке С#.

Оглавление

Введение

Лекция 1. Окно и элементы управления
Настройка элемента управления
Компоновка
Grid
Пропорциональные размеры
Пример Grid-компоновки окна
UniformGrid
GridSplitter
StackPanel
DockPanel
Canvas
Сглаживание при компоновке
Ресурсы
Динамические ресурсы
Файлы ресурсов
Подключение файла ресурсов методами класса Application
Контрольные вопросы
Задание для самостоятельной работы

Лекция 2. Стили
Наследование стилей
Построение приложения «Калькулятор»
Триггеры
Триггеры свойств
Мультитриггер
Триггеры событий
Триггеры данных
Мультитриггер данных
Темы
Контрольные вопросы
Задание для самостоятельной работы

Лекция 3. Пространства имен, привязка
Привязка данных
Коллекции в xaml
Коллекции в C# коде
ObservableCollection
Привязка к элементу
Форматирование значений
Привязка свойства к окну
Свойство RelativeSource
Конверторы значений
Валидация данных
Контрольные вопросы
Задание для самостоятельной работы

Лекция 4. Элементы управления
Класс Control
Элементы управления содержимым
Метки
Кнопки
Всплывающие окна
Специальные контейнеры
GroupBox
TabControl
Expander
ScrollViewer
Текстовые элементы управления 80
TextBlock
TextBox
PasswordBox
Контрольные вопросы
Задание для самостоятельной работы

Лекция 5. Элементы управления списками
ListBox
ComboBox
ListView
TreeView
DataGrid
Дополнительные возможности оформления таблицы
Ввод и редактирование данных в DataGrid
Классы столбцов DataGrid
Контрольные вопросы
Задание для самостоятельной работы

Лекция 6. Элементы управления диапазонов, меню, панель инструментов, строка состояния
Элементы управления, основанные на диапазонах
Ползунок Slider
Индикатор выполнения ProgressBar
Работа с датами, Calendar и DatePicker
Image
Меню
Панель инструментов ToolBar
ToolBarTray
Строка состояния StatusBar
Контрольные вопросы
Задание для самостоятельной работы

Лекция 7. Графические примитивы
Фигуры
Пути
PathGeometry
Мини-язык разметки пути
Аффинные преобразования
Кисти
SolidColorBrush
LinearGradientBrush
RadialGradientBrush
ImageBrush
DrawingBrush
VisualBrush
Контрольные вопросы
Задание для самостоятельной работы

Лекция 8. Свойства зависимостей. Модель событий
Получение значения свойств
Прикрепляемые свойства зависимости (attached property)
Модель событий
Маршрутизация событий
Прикрепляемые события
События клавиатуры
Валидация ввода
События мыши
Перетаскивание (drag & drop, «тащить и бросать»)
Контрольные вопросы
Задание для самостоятельной работы

Лекция 9. Команды, класс Application
Параметры команд
Целевой элемент
Отключение команд
Создание команд
Класс Application
Свойства и события класса Application
Контрольные вопросы
Задание для самостоятельной работы

Лекция 10. Шаблоны
Пользовательский шаблон кнопки
Анимация
Линейная анимация
Покадровая анимация
Анимация пути
Визуальные состояния
Контрольные вопросы
Задание для самостоятельной работы

Лекция 11. Окна
Основные свойства класса Window
Пример приложения с немодальным окном
Модальные окна
Окна произвольной формы
Окно сообщений MessageBox
Стандартные диалоговые окна
Индикатор выполнения
Контрольные вопросы
Задание для самостоятельной работы

Лекция 12. Страницы
Размещение страницы в окне
Сохранение данных при навигации
Программная навигация
Страничные функции
Элемент управления WebBrowser
Контрольные вопросы
Задание для самостоятельной работы

Лекция 13. Документы
Потоковые документы
Блочные элементы
Paragraph
List
Table
Section
BlockUIContainer
Строчные элементы
Форматирование текста
Контейнеры потоковых документов
Чтение и запись потоковых документов
Редактирование документов
Фиксированные документы
Контрольные вопросы
Задание для самостоятельной работы

Лекция 14. Работа с данными
Статические свойства
Свойства экземпляра класса
Доступ к свойствам класса MainWindow
Доступ к свойствам пользовательского класса
Организация доступа к коллекциям
Стиль чередующихся элементов
Провайдер данных
XML-провайдер
Иерархические данные в шаблоне HierarchicalDataTemplate
Контрольные вопросы
Задание для самостоятельной работы

Лекция 15. Управление приложением
Многопоточность
Фоновый поток BackgroundWorker
Панель задач
Модернизация проекта
Развертывание приложения
Контрольные вопросы
Задание для самостоятельной работы
Литература