60. Avalonia UI Real World (Numbered Draggable List)
00:00 Введение и цель • В последнем видео показан список действий, который не отображает нужную информацию. • Цель — сделать так, чтобы в списке действий отображалась необходимая информация при щелчке правой кнопкой мыши. • Необходимо разобраться с моделью представления для размещения и получения информации для списка. 00:57 Обновление списка процессов • Нужен реальный список процессов, который отображается при нажатии на кнопку в углу. • Список предварительно заполняется при нажатии на кнопку. • Обновляем список для отображения действий, даже если их нет в данный момент. 01:57 Настройка интерфейса • Устанавливаем вертикальную ориентацию и используем интервал для разделения элементов. • Убираем лишние строки и уменьшаем количество информации. • Размещаем кнопку со значком в свободном месте. 03:00 Стилизация кнопки • Создаём сетку для кнопки, выравниваем её по центру текстового поля. • Обновляем кнопку и значок кнопки, используя общие стили. • Перемещаем общие стили в самый низ для приоритета над стилизацией. 04:52 Выбор значка • Выбираем значок, похожий на маленький список с плюсом. • Добавляем выпадающее меню при нажатии кнопки «Загрузить». • Исправляем список действий, чтобы он соответствовал контекстному меню. 05:51 Перетаскивание элементов • Добавляем класс для перетаскивания элементов. • Изменяем источник элементов на «действия». • Копируем правильный список с страницы процесса. 07:06 Поведение коллекции • Изменяем поведение коллекции на «действия». • Добавляем команду «обновить порядок сортировки действий». • Редактируем команды для удаления и вставки действий. 09:20 Завершение настройки • Проверяем тему управления и список действий. • Создаём метод для выполнения действий при щелчке правой кнопкой мыши по меню. • Переходим к шаблону, который должен быть взят из другого шаблона. 10:04 Модель просмотра домашней страницы • Модель просмотра домашней страницы идентична модели представления процесса. • Привязки остаются неизменными. • Команда удаления действия переименована в команду удаления процесса. 10:45 Контекстное меню и действия • Кнопка действия или окно действия должны быть видны, но не содержать ничего. • Контекстное меню позволяет выбирать доступные действия. • Необходимо обработать события щелчка для отображения действий на странице процесса. 11:45 Переименование элементов управления • Переименование элемента ввода для освобождения поля списка действий. • Использование контекстного меню для выбора действий. 12:46 Вставка действия на главной странице • Вставка действия на главной странице с именем «вставить действие». • Проверка работы контекстного меню при щелчке правой кнопкой мыши. 13:31 Настройка модели просмотра домашней страницы • Создание одноэлементной модели просмотра домашней страницы для статичности. • Добавление значков и описаний для действий. 15:23 Визуализация описаний действий • Добавление описаний действий в список. • Настройка панели стека и меток для отображения описаний. 17:28 Порядок сортировки действий • Добавление столбца для отображения порядка сортировки действий. • Форматирование строки для отображения порядка сортировки. 21:08 Копирование шаблона списка • Копирование шаблона списка для другой страницы. • Изменение модели просмотра страницы процесса. 21:55 Тестирование изменений • Запуск приложения для проверки стиля обеих страниц. 22:03 Проблема с описанием задания • В новом задании на печать отсутствует описание, хотя оно есть. • При добавлении нового задания оно получает название, но при предыдущем добавлении оно не появляется. • Это намекает на проблемы с получением реальных данных. 22:20 Анализ базы данных • В процессе работы сохраняется дубликат данных: название задания, описание, порядок сортировки. • Идентификатор возвращается к оригиналу. • Можно удалить дубликаты и извлекать данные в реальном времени. 23:39 Модель данных действий • Модель данных действий включает название задания, описание и порядок сортировки. • Идентификаторы процесса и действия позволяют выполнять действия. 24:04 Производительность и синхронизация • Каждое действие хранится в отдельной таблице, что повышает производительность. • При редактировании старых имён и титулов список становится неактуальным. • Необходимо принудительно обновлять имена и описания при входе на страницу процесса. 25:04 Использование поведения • Можно использовать поведение для обновления модели представления при загрузке страницы. • Пример использования загруженных событий для инициализации триггера. 26:02 Инициализация команды • Команда инициализации вызывается при инициализации страницы. • Привязка команды позволяет обновить список. 28:33 Упрощение конструктора • Команды инициализации переносятся из конструктора в команду. • Это упрощает работу с конструктором и делает его чище. 29:31 Итоги упрощения 30:19 Инициализация команды 30:41 Обновление списка процессов 31:21 Обновление названий и описаний 32:18 Проверка обновлений 33:18 Запуск процессов 34:12 Контроллер пакетного процесса
00:00 Введение и цель • В последнем видео показан список действий, который не отображает нужную информацию. • Цель — сделать так, чтобы в списке действий отображалась необходимая информация при щелчке правой кнопкой мыши. • Необходимо разобраться с моделью представления для размещения и получения информации для списка. 00:57 Обновление списка процессов • Нужен реальный список процессов, который отображается при нажатии на кнопку в углу. • Список предварительно заполняется при нажатии на кнопку. • Обновляем список для отображения действий, даже если их нет в данный момент. 01:57 Настройка интерфейса • Устанавливаем вертикальную ориентацию и используем интервал для разделения элементов. • Убираем лишние строки и уменьшаем количество информации. • Размещаем кнопку со значком в свободном месте. 03:00 Стилизация кнопки • Создаём сетку для кнопки, выравниваем её по центру текстового поля. • Обновляем кнопку и значок кнопки, используя общие стили. • Перемещаем общие стили в самый низ для приоритета над стилизацией. 04:52 Выбор значка • Выбираем значок, похожий на маленький список с плюсом. • Добавляем выпадающее меню при нажатии кнопки «Загрузить». • Исправляем список действий, чтобы он соответствовал контекстному меню. 05:51 Перетаскивание элементов • Добавляем класс для перетаскивания элементов. • Изменяем источник элементов на «действия». • Копируем правильный список с страницы процесса. 07:06 Поведение коллекции • Изменяем поведение коллекции на «действия». • Добавляем команду «обновить порядок сортировки действий». • Редактируем команды для удаления и вставки действий. 09:20 Завершение настройки • Проверяем тему управления и список действий. • Создаём метод для выполнения действий при щелчке правой кнопкой мыши по меню. • Переходим к шаблону, который должен быть взят из другого шаблона. 10:04 Модель просмотра домашней страницы • Модель просмотра домашней страницы идентична модели представления процесса. • Привязки остаются неизменными. • Команда удаления действия переименована в команду удаления процесса. 10:45 Контекстное меню и действия • Кнопка действия или окно действия должны быть видны, но не содержать ничего. • Контекстное меню позволяет выбирать доступные действия. • Необходимо обработать события щелчка для отображения действий на странице процесса. 11:45 Переименование элементов управления • Переименование элемента ввода для освобождения поля списка действий. • Использование контекстного меню для выбора действий. 12:46 Вставка действия на главной странице • Вставка действия на главной странице с именем «вставить действие». • Проверка работы контекстного меню при щелчке правой кнопкой мыши. 13:31 Настройка модели просмотра домашней страницы • Создание одноэлементной модели просмотра домашней страницы для статичности. • Добавление значков и описаний для действий. 15:23 Визуализация описаний действий • Добавление описаний действий в список. • Настройка панели стека и меток для отображения описаний. 17:28 Порядок сортировки действий • Добавление столбца для отображения порядка сортировки действий. • Форматирование строки для отображения порядка сортировки. 21:08 Копирование шаблона списка • Копирование шаблона списка для другой страницы. • Изменение модели просмотра страницы процесса. 21:55 Тестирование изменений • Запуск приложения для проверки стиля обеих страниц. 22:03 Проблема с описанием задания • В новом задании на печать отсутствует описание, хотя оно есть. • При добавлении нового задания оно получает название, но при предыдущем добавлении оно не появляется. • Это намекает на проблемы с получением реальных данных. 22:20 Анализ базы данных • В процессе работы сохраняется дубликат данных: название задания, описание, порядок сортировки. • Идентификатор возвращается к оригиналу. • Можно удалить дубликаты и извлекать данные в реальном времени. 23:39 Модель данных действий • Модель данных действий включает название задания, описание и порядок сортировки. • Идентификаторы процесса и действия позволяют выполнять действия. 24:04 Производительность и синхронизация • Каждое действие хранится в отдельной таблице, что повышает производительность. • При редактировании старых имён и титулов список становится неактуальным. • Необходимо принудительно обновлять имена и описания при входе на страницу процесса. 25:04 Использование поведения • Можно использовать поведение для обновления модели представления при загрузке страницы. • Пример использования загруженных событий для инициализации триггера. 26:02 Инициализация команды • Команда инициализации вызывается при инициализации страницы. • Привязка команды позволяет обновить список. 28:33 Упрощение конструктора • Команды инициализации переносятся из конструктора в команду. • Это упрощает работу с конструктором и делает его чище. 29:31 Итоги упрощения 30:19 Инициализация команды 30:41 Обновление списка процессов 31:21 Обновление названий и описаний 32:18 Проверка обновлений 33:18 Запуск процессов 34:12 Контроллер пакетного процесса
