📱 Подписаться
IT и цифровая трансформация

Библиотека EMX Controls для Avalonia UI — Обновление 1.4 — Июнь 2026

📰 Habr 👁️ 1 просмотров

AlexZ711 час назад

Библиотека EMX Controls для Avalonia UI — Обновление 1.4 — Июнь 2026

Уровень сложностиПростойВремя на прочтение4 минОхват и читатели2.2KБлог компании ЭРЕМЕКС.NET*Интерфейсы*Windows*Linux*ОбзорДрузья, приветствуем вас! Наступило долгожданное лето. И, пока все не ушли в отпуска, мы спешим с новым анонсом. Сегодня у нас вышла версия 1.4 библиотеки EMX Controls для Avalonia UI.

EMX Controls — это профессиональная библиотека визуальных компонентов для создания кроссплатформенных приложений на Avalonia UI. В её состав входят десятки контролов: многофункциональные таблицы (Data Grid и Tree List), графики (Cartesian Chart, Polar Chart и Heatmap), инструменты для построения интерфейсов (Ribbon, Docking UI и Property Grid) и многое другое.

Основное внимание этого обновления — наши флагманские контролы: Data Grid и Tree List. Мы добавили несколько давно ожидаемых функций, которые сделают работу с данными ещё удобнее. Также приятные улучшения получил компонент Cartesian Chart. Все подробности ниже.

Наши предыдущие статьи про развитие библиотеки контролов EMX Controls:• Библиотека EMX Controls для Avalonia UI — Версия 1.3 — Январь 2026
• Библиотека Eremex Controls для Avalonia UI — Версия 1.2 — Октябрь 2025
• Пример использования библиотеки EMX Controls для создания финансовых кроссплатформенных приложений
• Как мы улучшили скорость работы табличных контролов библиотеки EMX Controls для Avalonia UI
• БиблиотекаEremexControls.NETдля Avalonia UI — Большое обновление (v 1.1 EAP)
• БиблиотекаEremexControls.NETдля Avalonia UI — Обновление июль-август 2024
• БиблиотекаEremexControls.NETдля Avalonia UI — Обновление май-июнь 2024
• БиблиотекаEremexControls.NETдля Avalonia UI — Обновление март-апрель 2024
• Библиотека контролов для Avalonia UI

Data Grid и Tree List - Автоподбор ширины колонок (Best-Fit)

Одна из часто используемых функций — это возможность быстро подогнать ширину колонки под ее содержимое. В версии 1.4 мы реализовали механизм Best-Fit (Автоподбор Ширины).

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

Автоподбор ширины колонокТакже можно вызвать "Автоподбор Ширины" из контекстного меню колонки. Можно подобрать ширину как для конкретной колонки, так и для всех колонок.

Команды в контекстном менюУ разработчиков также есть возможность выбора режима операции Best Fit.

• Режим Fast (быстрый) — Измеряет ширину только уникальных значений в колонке. Это заметно ускоряет работу автоподбора в большинстве стандартных сценариев, особенно в больших таблицах с повторяющимися данными.
• Режим Full (полный) — Измеряет ширину всех значений в колонке, включая дубликаты. Этот режим работает медленнее, чем Fast, но он необходим в тех случаях, когда в ячейках используются нестандартные шаблоны (CellTemplate) или отображаются индикаторы ошибок валидации. Режим Full гарантирует, что ширина колонки будет рассчитана с учётом всех возможных визуальных состояний ячеек.По умолчанию используется режим Fast, который подходит для большинства ситуаций и обладает лучшей производительностью.

Сброс изменений ширины колонок

После того как пользователь изменил ширину любой колонки (перетаскиванием или через автоподбор), в контекстном меню колонки появляется команда "Сбросить ширину колонок" (Reset Column Width).

Команда для сброса размеров колонокЭта команда отменяет все пользовательские изменения и возвращает колонкам их исходную ширину (ширину, которая была задана в XAML или коде до этого момента).

Data Grid и Tree List - Улучшения операций перетаскивания строк (Drag-and-drop)

Миниатюры

Для конечных пользователей безусловно важна визуальная индикация при перетаскивании объектов. Контролы DataGrid и Tree List теперь отображают миниатюры перетаскиваемых строк. Это создает наглядную обратную связь при перемещении данных.

При перетаскивании одной строки показывается её миниатюра.

Перетаскивание строкиПри перетаскивании нескольких строк миниатюра показывает количество перемещаемых объектов.

Новый режим перетаскивания

В версии 1.4 мы добавили новый режим перетаскивания строк, при котором перетаскивание осуществляется с помощью специального указателя (drag handle). Эти указатели отображаются слева от каждой строки. Пользователь может захватить этот указатель для инициирования операции перетаскивания.

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

CartesianChart - Тонкая настройка "прицела" (crosshair)

В новой версии контрол CartesianChart получил дополнительный API для управления прицелом (crosshair). Среди наиболее значимых изменений:

• Добавили новый режим отображения меток прицела Smart (он теперь используется по умолчанию). В этом режиме метки нескольких серий могут объединяться, чтобы не допустить визуального перекрытия друг друга.Режим "Smart" отображения меток• Добавили режим сортировки серий в объединенной метке.

• Режим By Series — Серии сортируются в порядке их добавления в контрол.Сортировка серий по порядку• Режим By Value — Серии сортируются согласно значениям по оси Y.Сортировка серий по значениям
• Показ меток только для ближайших точек. Можно ограничить радиус (в пикселях), в пределах которого прицел ищет точки для отображения подписей.

Поддержка Avalonia 12

Библиотека EMX Controls версии 1.4 теперь полностью поддерживает Avalonia 12.

Новая версия фреймворка Avalonia принесла значительные улучшения в производительности, стабильности и надёжности работы на различных платформах. Мы адаптировали нашу библиотеку к изменениям в ядре фреймворка и провели тщательное тестирование на совместимость.

Убрали зависимость от пакета CommunityToolkit.Mvvm

Раньше наша библиотека внутри себя использовала пакет CommunityToolkit.Mvvm. В новой версии мы от него отказались, чтобы не навязывать нашим пользователям конкретные инструменты для работы с бизнес-объектами.

Если вы используете CommunityToolkit.Mvvm в своих проектах, добавьте явно этот пакет в свой проект.

Полезные ссылки

• Документация EMX Controls
• Демо-приложение (Offline)
• Демо-приложение (Online)
• Наш Telegram-канал

Заключение

Мы, как всегда, ждем ваших отзывов и предложений. Обратная связь помогает нам выбирать приоритеты и развивать библиотеку EMX Controls. Оставайтесь с нами.Теги:• avalonia
• cross-platform
• ui
• windows
• linux
• .net
• eremex
• eremexcontrols
• emxcontrolsХабы:• Блог компании ЭРЕМЕКС
• .NET
• Интерфейсы
• Windows
• Linux

Получайте больше инсайтов о систематизации бизнеса

Подписывайтесь на Telegram-канал Business Operations — ежедневные материалы о бизнес-процессах, операционном управлении и повышении эффективности

💬 Подписаться на канал