Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Обзор обновления 1.5 библиотеки EMX Controls для Avalonia UI

Обзор обновления 1.5 библиотеки EMX Controls для Avalonia UI

Опубликован релиз предварительной версии библиотеки контролов EMX Controls для Avalonia UI версии 1.5. Разработчики добавили востребованную функциональность вычисления итогов в таблицы, расширили палитры визуальных тем, внедрили сервисы для управления окнами во ViewModel и улучшили инструменты тестирования.

Новое обновление приносит разработчикам кроссплатформенных интерфейсов множество практических улучшений, включая аппаратный рендеринг графики на macOS, специализированные шаблоны проектов dotnet new и открытую документацию для интеграции с AI-ассистентами.

Выпадающий список для добавления итогов в табличных контролах EMX Controls
Выпадающий список для добавления итогов
Обзор обновления 1.5 библиотеки EMX Controls для Avalonia UI
Обзор обновления 1.5 библиотеки EMX Controls для Avalonia UI — изображение 18
Обзор обновления 1.5 библиотеки EMX Controls для Avalonia UI — изображение 19
Обзор обновления 1.5 библиотеки EMX Controls для Avalonia UI — изображение 20

Итоги (Summary) в контролах Data Grid и Tree List

Интерактивные табличные компоненты Data Grid и Tree List, предназначенные для работы с плоскими и иерархическими списками, обзавелись встроенным инструментом вычисления итогов. Теперь пользователи могут выполнять базовый математический анализ прямо в интерфейсе приложения.

Реклама

Доступные варианты вычислений

Система поддерживает стандартные алгоритмы «из коробки»: автоматическое суммирование, определение минимального и максимального значений, расчет среднего арифметического, а также подсчет общего количества записей. Для нестандартных задач предусмотрено специальное событие CustomSummary, позволяющее реализовать собственный алгоритм обработки данных. Кроме того, допускается вычисление нескольких итоговых значений для одной колонки с возможностью их вывода в совершенно другом столбце табличного представления.

Редактор для управления итоговыми значениями и порядком колонок
Интерфейс редактора итогов

Управление в рантайме

Интерфейс позволяет конечным пользователям самостоятельно настраивать итоговые показатели. С помощью специальной кнопки с символом сигмы открывается выпадающий список доступных операций, а для более тонкой конфигурации порядка и расположения элементов предусмотрен отдельный графический редактор. В текущем превью-выпуске расчет итогов доступен по всем записям, а в скором времени разработчики обещают добавить вычисление по группам строк в Data Grid.

Вычисление итогов по записям в компоненте Data Grid
Результат вычисления итогов в Data Grid

Палитры для визуальной темы

Визуальная тема графических компонентов теперь включает расширенный набор цветовых схем. Помимо базовых вариантов, добавлено еще 9 палитр. С учетом того, что каждая из 10 доступных палитр поддерживает разделение на светлое и темное оформление, разработчики и пользователи получают выбор из 20 схем.

Реклама

При смене палитры интерфейс автоматически перекрашивает фон окон и панелей, состояние редакторов, строки и ячейки таблиц, а также элементы подсветки и фокуса. Интеграция специального сервиса позволяет организовывать динамическое переключение тем непосредственно в пользовательском приложении.

Палитры визуальной темы для компонентов EMX Controls
Варианты цветовых палитр интерфейса

Плотность пользовательского интерфейса

Для компактного размещения максимального объема информации на экранах добавлена настройка плотности элементов управления в фирменной теме оформления DeltaDesign. Теперь программисты могут задействовать один из трех предопределенных режимов отображения: компактный Compact, стандартный Standard или просторный Spacious, изменяющий размер шрифтов и межэлементные отступы.

Сервис для переключения палитр в приложении EMX Controls
Элементы управления для выбора палитр

Сервисы приложения

В架构 MVVM-приложений добавлены Application Services, упрощающие взаимодействие слоя ViewModel с графическим окружением без прямых ссылок на типы Avalonia.

Инструменты взаимодействия и файлы

Набор сервисов охватывает стандартные диалоговые окна:

Настройка плотности пользовательского интерфейса DeltaDesign
Сравнение режимов плотности UI
  • IMessageBoxService — вызов системных сообщений с фиксированным набором кнопок;
  • IDialogService — модальные окна, содержимое которых задается во ViewModel;
  • IChoiceDialogService — диалоговые формы с произвольными вариантами выбора;
  • IWindowService — открытие немодальных окон на базе дополнительных ViewModel.

Для работы с файловой системой предусмотрены асинхронные и синхронные службы IOpenFileDialogService и ISaveFileDialogService, открывающие стандартные диалоги ОС.

Работа Application Services в MVVM-приложениях
Взаимодействие через сервисы приложения

Инфраструктурные службы

Специальный менеджер IWindowsManager отслеживает текущее активное окно, выступая владельцем для всплывающих диалогов. Служба IAppearanceService отвечает за программное переключение палитр, выбор темной или светлой схемы и регулировку плотности интерфейса.

Реклама

Графики

Компоненты визуализации графических данных CartesianChart, PolarChart и SmithChart получили расширенные настройки отрисовки линий. Обновленный API позволяет тонко конфигурировать толщину линий, штриховые шаблоны и форму концевых элементов.

Тонкая настройка линий в компонентах визуализации графиков
Опции настройки линий графиков

Docking UI

Менеджер компоновки панелей DockManager обзавелся событием CustomizeDockGuide. Оно дает возможность перехватывать и динамически скрывать подсказки стыковки в процессе перетаскивания панелей, ограничивая нежелательные пользовательские сценарии компоновки.

Управление стыковкой панелей через компонент DockManager
Настройка dock-подсказок при перетаскивании панелей

Другие улучшения

В окне выбора колонок Column Chooser для табличных контролов появилась команда Select All для одновременной отметки всех элементов. Реализована подписка на событие DragOver, позволяющая перетаскивать строки в пустую область ниже списков для автоматического добавления в конец.

Компонент SpinEditor получил свойство AllowRoundOutOfRangeValue, выполняющее автоматическое округление введенных данных до ближайшего разрешенного предела. Компонент Graphics3DControl на операционной системе macOS переведен с программного рендеринга на аппаратное ускорение через графический API Apple Metal.

Окно выбора колонок Column Chooser с командой Select All
Команда выбора всех колонок в Column Chooser

Новые шаблоны проектов для dotnet new

Для быстрой генерации проектов через командную строку подготовлены обновленные шаблоны с префиксом emx:

Новые шаблоны проектов dotnet new для EMX Controls
Список доступных шаблонов проектов
  • emx.app — базовая заготовка Avalonia-приложения с подключенной библиотекой;
  • emx.mvvm — стандартное разделение на View и ViewModel;
  • emx.services — шаблон с предварительно настроенными сервисными классами;
  • emx.mdi — многооконный интерфейс на базе DockManager;
  • emx.window — пустое окно MxWindow с поддержкой фирменных тем.

Установка пакета шаблонов предваряет создание рабочих проектов одной консольной командой.

Автоматизированное тестирование

Инфраструктура тестирования переведена на Microsoft Testing Platform (MTP). Это позволило расширить покрытие CI-пайплайнов на macOS и WebAssembly в дополнение к Windows и Linux, доведя общее количество автоматических тестов до значений, превосходящих саму платформу Avalonia UI.

Пайплайн CI для тестирования EMX Controls
Пайплайн CI для одного merge request

Документация для людей и для LLM

Для разработчиков, использующих искусственный интеллект, развернут специальный MCP-сервер, транслирующий актуальную документацию, примеры, справочные данные API и публичные тикеты техподдержки. Сами страницы портала снабжены поисковыми индексами и Markdown-версиями статей.

API Reference в официальной документации EMX Controls
Раздел API Reference в документации

Справочник API Reference теперь доступен в официальной документации, а исходные материалы документации выложены в открытый публичный репозиторий для развертывания в изолированных локальных контурах.

Демо-приложение

Для быстрой оценки возможностей библиотеки выпущено демонстрационное приложение. Для пользователей macOS подготовлена отдельная сборочная версия, в которой 3D-графика функционирует сразу после запуска без дополнительных конфигураций.

Примеры в демонстрационном приложении EMX Controls
Индикаторы примеров в демонстрационной программе
Демо-приложение на MacBook Air с Graphics3D Control
Демо-приложение на MacBook Air

Лицензирование и открытый код

Действует 60-ний триальный период без функциональных ограничений, за исключением небольшого водяного знака в интерфейсе. Библиотечные сборки не обфусцированы, что позволяет исследовать код через ILSpy и активировать лицензии в полностью изолированных средах. Для авторов проектов с открытым исходным кодом предусмотрена возможность получения бесплатных некоммерческих лицензий при соблюдении базовых условий хостинга на GitHub и лицензионной чистоты.

01.