53. Avalonia UI Real World (Headered ListBox)
00:00 Создание списка действий • Создание страницы процессов и viewmodels. • Добавление списка действий для перетаскивания в список конкретных действий для каждого процесса. • Перевод списков в формат, который можно выбрать. 00:53 Проблемы с viewmodels и форматами сохранения • Трудности с использованием нестатических элементов в viewmodels. • Статизация форматов сохранения моделей и чертежей для упрощения работы. • Проверка соответствия форматов экспорта и импорта. 02:51 Инициализация пользовательского интерфейса • Решение проблемы с объектом, не имеющим значения ссылки на экземпляр в конструкторе во время разработки. • Создание метода initialize для универсальной инициализации. • Передача параметров в основную модель представления. 04:55 Настройка пользовательского интерфейса • Добавление заголовков и элементов списка. • Настройка сетки и автоматического размера списка. • Создание шаблона точечного элемента списка. 06:38 Привязка данных и генерация списка действий • Привязка списка действий к элементу «название задания». • Генерация списка действий с учётом заголовков и сортировки. • Создание отдельной модели представления для доступных действий. 08:17 Добавление категорий и значков • Добавление наблюдаемого свойства категории для каждого действия. • Создание пути к значку для каждого действия. • Инициализация доступной модели представления действий. 10:32 Вспомогательная функция для логики • Разделение повторяющегося кода на вспомогательную функцию. • Возврат списка доступных действий и категорий. • Ограничение модели данных действий для использования в общем виде. 11:38 Добавление элементов в список • Возвращаемый список равен новому списку доступных действий. • Добавление диапазона в возвращаемый список точек. • Выбор элемента из списка и вызов модели для просмотра в базовом классе модели данных действий. 12:28 Работа с моделью представления • Метод расширения для работы с идентификатором, именем и описанием. • Применение кастинга к модели представления. • Установка категории в модели представления действия. 13:06 Оптимизация кода • Замена длинного вызова на вспомогательный метод. • Удаление не специфичного кода и введение пользовательских свойств. • Повторение действий для каждого элемента в базе данных. 14:52 Создание доступной для наблюдения коллекции • Создание новой доступной для наблюдения коллекции. • Объединение нескольких списков с помощью dot concat. • Проверка работы списка доступных действий. 16:32 Настройка отображения категорий • Установка флажка для отображения категорий или одного большого списка. • Создание сетки для отображения элементов и кнопок. • Настройка видимости элементов в зависимости от их выбора. 18:24 Коррекция отображения текста • Добавление отступов для центрирования текста. • Исправление смещения кнопок. • Корректировка шрифта для лучшего отображения. 20:23 Добавление заголовков категорий • Привязка текстового поля к категории. • Использование преобразователя объектов для отображения категории при отсутствии модели представления действия. • Добавление заголовков в списки действий. 23:31 Стилизация элементов • Создание стиля для элементов списка. • Настройка темы контейнера и целевого типа. • Проверка внешнего вида элементов после настройки. 24:10 Настройка видимости элемента • Обсуждение возможности выбора элемента в зависимости от его состояния. • Включение функции «видимость» для управления выбором. • Создание свойства, указывающего, можно ли выбрать элемент. 25:31 Привязка свойства • Привязка свойства к значению, которое можно выбрать. • Указание типа данных для привязки. • Проверка работы привязки. 26:13 Проблемы со стилем • Потеря стиля при изменении темы управления. • Восстановление стиля через ключ к ресурсу. • Настройка стиля для отключённых элементов. 27:52 Настройка отступов • Удаление нижней границы для заголовков. • Использование преобразователя значений для управления отступами. • Обновление отступов при изменении свойств. 29:46 Добавление действий • Добавление кнопки «Плюс» для добавления элементов в список. • Добавление кнопки «Удалить» для удаления элементов. • Настройка перетаскивания элементов между списками. 30:44 Завершение • Обсуждение возможных улучшений, таких как добавление значков или изменение цвета фона. • Завершение текущего этапа работы.
00:00 Создание списка действий • Создание страницы процессов и viewmodels. • Добавление списка действий для перетаскивания в список конкретных действий для каждого процесса. • Перевод списков в формат, который можно выбрать. 00:53 Проблемы с viewmodels и форматами сохранения • Трудности с использованием нестатических элементов в viewmodels. • Статизация форматов сохранения моделей и чертежей для упрощения работы. • Проверка соответствия форматов экспорта и импорта. 02:51 Инициализация пользовательского интерфейса • Решение проблемы с объектом, не имеющим значения ссылки на экземпляр в конструкторе во время разработки. • Создание метода initialize для универсальной инициализации. • Передача параметров в основную модель представления. 04:55 Настройка пользовательского интерфейса • Добавление заголовков и элементов списка. • Настройка сетки и автоматического размера списка. • Создание шаблона точечного элемента списка. 06:38 Привязка данных и генерация списка действий • Привязка списка действий к элементу «название задания». • Генерация списка действий с учётом заголовков и сортировки. • Создание отдельной модели представления для доступных действий. 08:17 Добавление категорий и значков • Добавление наблюдаемого свойства категории для каждого действия. • Создание пути к значку для каждого действия. • Инициализация доступной модели представления действий. 10:32 Вспомогательная функция для логики • Разделение повторяющегося кода на вспомогательную функцию. • Возврат списка доступных действий и категорий. • Ограничение модели данных действий для использования в общем виде. 11:38 Добавление элементов в список • Возвращаемый список равен новому списку доступных действий. • Добавление диапазона в возвращаемый список точек. • Выбор элемента из списка и вызов модели для просмотра в базовом классе модели данных действий. 12:28 Работа с моделью представления • Метод расширения для работы с идентификатором, именем и описанием. • Применение кастинга к модели представления. • Установка категории в модели представления действия. 13:06 Оптимизация кода • Замена длинного вызова на вспомогательный метод. • Удаление не специфичного кода и введение пользовательских свойств. • Повторение действий для каждого элемента в базе данных. 14:52 Создание доступной для наблюдения коллекции • Создание новой доступной для наблюдения коллекции. • Объединение нескольких списков с помощью dot concat. • Проверка работы списка доступных действий. 16:32 Настройка отображения категорий • Установка флажка для отображения категорий или одного большого списка. • Создание сетки для отображения элементов и кнопок. • Настройка видимости элементов в зависимости от их выбора. 18:24 Коррекция отображения текста • Добавление отступов для центрирования текста. • Исправление смещения кнопок. • Корректировка шрифта для лучшего отображения. 20:23 Добавление заголовков категорий • Привязка текстового поля к категории. • Использование преобразователя объектов для отображения категории при отсутствии модели представления действия. • Добавление заголовков в списки действий. 23:31 Стилизация элементов • Создание стиля для элементов списка. • Настройка темы контейнера и целевого типа. • Проверка внешнего вида элементов после настройки. 24:10 Настройка видимости элемента • Обсуждение возможности выбора элемента в зависимости от его состояния. • Включение функции «видимость» для управления выбором. • Создание свойства, указывающего, можно ли выбрать элемент. 25:31 Привязка свойства • Привязка свойства к значению, которое можно выбрать. • Указание типа данных для привязки. • Проверка работы привязки. 26:13 Проблемы со стилем • Потеря стиля при изменении темы управления. • Восстановление стиля через ключ к ресурсу. • Настройка стиля для отключённых элементов. 27:52 Настройка отступов • Удаление нижней границы для заголовков. • Использование преобразователя значений для управления отступами. • Обновление отступов при изменении свойств. 29:46 Добавление действий • Добавление кнопки «Плюс» для добавления элементов в список. • Добавление кнопки «Удалить» для удаления элементов. • Настройка перетаскивания элементов между списками. 30:44 Завершение • Обсуждение возможных улучшений, таких как добавление значков или изменение цвета фона. • Завершение текущего этапа работы.
