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

Развитие линейки Chart-контролов

Новая версия библиотеки существенно расширяет возможности контролов для отображения графиков.

Были добавлены новые chart-контролы, а в CartesianChart (построение графиков в декартовой системе координат) появилась поддержка дополнительных серий данных.

PolarChart

Новый chart-контрол, который позволяет строить графики в полярных системах координат.

PolarChart
PolarChart

Основные функции включают:

  • Пометка уровней с помощью линий и полос (strips and constant lines)

  • Прицел (crosshair)

  • Направление и угол отсчета координат (sweep direction and start angle)

  • Поддержка MVVM-паттерна для задания данных и свойств элементов диаграммы

Серии данных:

  • Точечный график (PolarPointSeriesView)

  • Линейный график с сортировкой точек (PolarLineSeriesView)

  • Линейный график без сортировки точек (PolarScatterLineSeriesView)

  • Область (PolarAreaSeriesView)

  • Диапазон (PolarRangeAreaSeriesView)

SmithChart

Специализированный chart-контрол для построения графиков на диаграмме Смита.

SmithChart
SmithChart
  • Отображение прицела (crosshair)

  • Поддержка MVVM-паттерна

Серии данных:

  • Точечный график (SmithPointSeriesView)

  • Линейный график без сортировки точек (SmithScatterLineSeriesView)

CartesianChart - Дополнительные серии данных

CartesianChart, о котором мы рассказывали в предыдущей статье, получил новые функции и новые серии данных.

CartesianChart - Подсветка уровней
CartesianChart - Подсветка уровней
CartesianChart - Столбчатая диаграмма
CartesianChart - Столбчатая диаграмма
  • Пометка уровней с помощью линий и полос (strips and constant lines)

  • Поддержка MVVM-паттерна.

Новые серии данных:

  • Точечный график (CartesianPointSeriesView)

  • Область (CartesianAreaSeriesView)

  • Линейный график без сортировки точек (CartesianScatterLineSeriesView)

  • Ступенчатый график (CartesianStepLineSeriesView)

  • Ступенчатые области (CartesianStepAreaSeriesView)

  • Диапазон областей (CartesianRangeAreaSeriesView)

  • Столбчатая диаграмма (CartesianSideBySideBarSeriesView)

  • Столбчатые диапазоны (CartesianSideBySideRangeBarSeriesView)

Темная тема

Все chart-контролы теперь автоматически умеют подстраивать свои цвета под темную тему оформления.

Скачайте Демо-приложение, чтобы увидеть и протестировать все новые возможности chart-контролов.

Обновления в других контролах

Чтобы добавить в окно индикатор загрузки или показать прогресс операции, вы можете использовать наш новый контрол CircleProgressIndicator.

  • Доступны опции для задания прогресса, минимального и максимального значений.

  • Вы можете выбрать заполнение индикатора с использованием анимации или без нее.

Другие контролы получили не столь значительные изменения. В основном они касаются появления нового и изменения существующего API. Более подробную информацию мы собрали на страничке нашей документации: Version 1.0

Визуальная тема

В одной из предыдущих статей говорилось про единую дизайн-систему для оформления контролов Eremex. В этом релизе мы решили создать отдельную библиотеку с данной визуальной темой и назвали ее DeltaDesign. Как можно догадаться, название было дано в честь САПР Delta Design, графический интерфейс которой в значительной степени базируется на библиотеке Eremex Controls.

Выделение темы в отдельную библиотеку позволит вам ее изменить в соответствии с вашими требованиями и создать новую подключаемую тему оформления.

Исходный код визуальной темы DeltaDesign будет в свободном доступе. А в дальнейшем мы планируем создать примеры, показывающие возможности по модификации визуальной темы.

NuGet пакеты

Теперь последняя версия пакетов с нашими контролами, темой и шаблонами доступна на сайте nuget.org.

- Eremex.Avalonia.Controls - Основной пакет, который содержит все контролы Eremex для Avalonia UI, включая редакторы, гриды и чарты.

- Eremex.Avalonia.Themes.DeltaDesign - Библиотека с подключаемой темой оформления DeltaDesign для наших контролов.

- Eremex.Avalonia.Templates - Пакет с шаблонами, которые позволяют легко создавать новые Avalonia-приложения с нашими контролами.

Все наши пакеты и библиотеки подписываются, что позволяет проверить подлинность и целостность сборок.

Шаблоны новых проектов

Пакет Eremex.Avalonia.Templates позволит вам установить шаблоны для быстрого создания Avalonia-приложений на основе библиотеки Eremex Controls.

После установки пакета с помощью команды:

dotnet new install Eremex.Avalonia.Templates

будут доступны шаблоны для создания новых проектов и модулей:

  • Eremex Avalonia .NET App (eremex.avalonia.app) — Создает новое Avalonia-приложение и подключает последнюю версию наших контролов. В качестве окна используется класс MxWindow, который поддерживает темирование заголовка и бордюра окна. Шаблон также добавляет код для регистрации темы DeltaDesign.

  • Eremex Avalonia .NET MVVM App (eremex.avalonia.mvvm) — Создает новое Avalonia-приложение на основе паттерна MVVM, выделяя классы Window (View) и ViewModel. В остальном действие шаблона схоже с предыдущим.

  • Eremex Avalonia Window (eremex.avalonia.window) — Создает темированное окно на основе объекта MxWindow.

Чтобы создать новое приложение на основе шаблона, можно выполнить команду:

dotnet new eremex.avalonia.mvvm -n AvaloniaApplication1 

Или можно найти нужный шаблон в Visual Studio при создании нового проекта.

Лицензирование

В библиотеку Eremex Controls был добавлен код для лицензирования продукта на основе решения от Guardant. Лицензия приобретается на 1 год на каждое рабочее место разработчика приложений. Она позволяет в течение этого срока создавать любое количество проектов с нашими контролами.

В случае, если лицензия не найдена, показывается триальное сообщение.

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

Обновленное Демо-приложение

Обновленное Демо-приложение иллюстрирует не только новые возможности чарт-контролов. Были расширены модули и по другим контролам (Data Grid, Tree List и редакторы), чтобы показать дополнительные функции.

Надеемся, что вы найдете изменения в новой версии контролов полезными и поделитесь своими комментариями и пожеланиями.

Комментарии (7)


  1. TerekhinSergey
    01.07.2024 19:17
    +1

    Выглядит очень неплохо! Подскажите, есть ли возможность работать без контрола и отрендерить график куда-нибудь в svg/png/pdf в бекэнде?


    1. KatterMaw
      01.07.2024 19:17
      +2

      Любой контрол можно рендерить в картинку, можно и в headless режиме если правильно настроить стартап. https://github.com/AvaloniaUI/Avalonia.HtmlRenderer/issues/10


      1. VBDUnit
        01.07.2024 19:17
        +1

        Рендеринг будет средствами GPU или CPU?


    1. Heldar
      01.07.2024 19:17
      +1

      Спасибо за оценку!
      Пока встроенного функционала по сохранения/экспорту графиков нет. Но как ответили выше можно сохранить контрол самому.
      В будущем подумаем о добавлении подобного функционала.


  1. Vedomir
    01.07.2024 19:17
    +1

    Из статьи непонятна модель лицензирования. Правильно ли я понимаю, что это чисто коммерческое, закрытое решение, которое невозможно использовать для некоммерческих/открытых проектов без покупки лицензии? Можно ли купить лицензию в России? Как вообще с санкционными перспективами?


    1. xtraroman Автор
      01.07.2024 19:17
      +1

      Это 100% коммерческий проект разрабатываемый в России. Вы можете использовать продукт бесплатно в триальном режиме ограниченное время. Лицензия приобретается на год на разработчика. Разработчик этот тот, кто меняет код. Для CI/CD лицензия не нужна. Подробнее написали здесь https://eremexcontrols.net/articles/licensing.html. По вопросам приобретения лицензии пожалуйста напишите нашему менеджеру по продажам Илье https://t.me/i_skv


    1. xtraroman Автор
      01.07.2024 19:17
      +1

      Так же, у нас есть телеграм канал для технических вопросов https://t.me/emxControls