Версия 1.2¶
1.2.96¶
Graphics3DControl¶
- Исправлена проблема: Graphics3DControl не сразу обновлется при изменении свойства
MeshGeometry3D.PrimitiveSize, если модель содержит два или более меша типаLinesилиPoints.
1.2.95¶
Системные требования¶
Библиотека Eremex Controls теперь поддерживает фреймворк Avalonia версии 11.3.8 или выше.
DataGrid и TreeList¶
-
Критическое изменение — Обновлены аргументы событий перетаскивания (Drag-and-drop)
Аргументы событий
StartDrag,DragOverиDropбыли изменены. Причина этого критического изменения — устаревание системного интерфейсаAvalonia.Input.IDataObject. АргументDataэтих событий теперь имеет тип классаDragDropData(в предыдущих версиях он имел тип интерфейсаIDataObject). КлассDragDropDataпредоставляет те же мемберы, что и устаревший интерфейс. -
Исправлена проблема: Не удается изменить фон строк путем применения стиля к объектам
DataGridRowControl.
Property Grid (Сетка свойств)¶
- Исправлена проблема: Возникает исключительная ситуация при навигации с помощью клавиш Стрелки Вверх или Вниз в активном редакторе PopupColorEditor, когда его всплывающее окно открыто.
Ribbon (Лента)¶
- Исправлена проблема: Возникает исключительная ситуация при обновлении контрола, если он содержит скрытые элементы.
MxWindow¶
- Исправлена проблема: В развернутом состоянии окна добавляются ненужные отступы (padding).
1.2.92¶
TreeList — Экспорт в PDF¶
Теперь вы можете экспортировать элемент управления Tree List напрямую в документ PDF. Процесс экспорта следует принципу WYSIWYG, что гарантирует соответствие сгенерированного PDF макету элемента управления на экране.

API экспорта позволяет настраивать различные параметры, такие как видимость заголовков столбцов и групп, настройки страницы и многое другое.
Документация:
Data Grid и Tree List — Копирование в буфер обмена¶
Новый метод CopyToClipboardAsync позволяет копировать выбранные строки в системный буфер обмена.
Для получения дополнительной информации см. следующий топик:
Data Grid и TreeList — Прочие изменения¶
- Методы
OnKeyDownиOnKeyUpтеперь являются виртуальными. - Исправлена проблема: Зависание элемента управления, когда у столбцов с автоматической шириной задана настройка MinWidth.
- Исправлена проблема: Меню фильтров в столбцах не работают с nullable-свойствами.
Property Grid¶
- Исправлена проблема: Проблема при привязке свойства IsVisible строки к свойству и последующем редактировании этого свойства.
Ribbon¶
- Исправлена проблема: Ribbon вызывает исключение при размещении внутри ToolbarManager.
- Исправлена проблема: Ribbon выделяет место для скрытых элементов.
ComboBoxEditor — Немедленное обновление значения редактора¶
В режиме множественного выбора ComboBoxEditor содержит кнопки OK и Cancel во всплывающем окне, используемом для подтверждения выбора пользователя. Если эти кнопки скрыты, ComboBoxEditor немедленно обновляет своё значение по мере того, как пользователь устанавливает или снимает флажки с элементов в выпадающем списке. Если эти кнопки видны, значение редактора обновляется после нажатия кнопки OK.
Установите для свойства редактора PopupFooterButtons значение None, чтобы скрыть кнопки OK и Cancel.
1.2.77¶
Data Grid и Tree List - Фильтры в столбцах¶
Контролы Data Grid и Tree List теперь позволяют задавать фильтры для столбцов через специальное меню.
Наведите указатель мыши на заголовок любого столбца, чтобы появилась кнопка фильтра. Щелчок по этой кнопке открывает меню фильтра со списком уникальных значений столбца. Выберите любое значение, чтобы мгновенно отфильтровать столбец.

- Многоколоночная фильтрация — Вы можете применять фильтры к нескольким столбцам одновременно.
- Панель фильтров — Когда фильтр применен, в нижней части контрола появляется специальная панель фильтров. На ней отображаются текущие условия фильтрации и предоставляются опции для временного отключения или очистки фильтра.
- Фильтрация в коде — Используйте новое свойство
DataControlBase.FilterString, чтобы создавать пользовательские критерии фильтрации в коде. Это свойство поддерживается для контролов Data Grid, Tree List и Tree View.
Связанные темы:
Data Grid - Экспорт в PDF¶
Data Grid теперь позволяет экспортировать данные в виде документа PDF. Функциональность экспорта в PDF следует концепции WYSIWYG, которая сохраняет макет элементов грида в выходном документе.

При экспорте в PDF вы можете настроить различные параметры, включая размер бумаги, поля страницы, ориентацию и так далее.
Связанная тема:
MxMessageBox - Асинхронный режим¶
MxMessageBox теперь включает перегрузки метода ShowAsync. Они позволяют отображать окна сообщений асинхронно, не блокируя UI-поток.
Сериализация контролов в Json¶
Для сериализации/десериализации контролов Eremex вы обычно используете их методы SaveLayout и RestoreLayout, которые используют XML-формат для сериализации. В настоящее время эти методы не позволяют выбрать формат вывода.
Для большего контроля над настройками сериализации и использования формата JSON применяйте методы SerializationManager.Serialize и SerializationManager.Deserialize с параметром SerializationSettings. Установите свойство SerializationSettings.SerializationMode в Json, чтобы сериализовать/десериализовать контролы в этом формате.
Docking¶
- Новое событие
DockManager.DockItemContextMenuOpeningпозволяет настраивать встроенные контекстные меню для Dock Panes и Document Panes, а также предотвращать их отображение. - Свойство
DockManager.Commandsпредоставляет доступ ко всем встроенным командам (объектамICommand) для Dock Panes и Document Panes (например,AutoHide,ToggleAutoHide,Maximize,Minimize,NewHorizontalDocumentGroupи т.д.). Эти команды вызываются из встроенных контекстных меню.
Ribbon¶
- Исправлена проблема: Кнопки исчезают в группах ленты при определенных макетах кнопок.
Отключение прозрачности и теней для окон и всплывающих окон¶
Новый класс MxSettings хранит глобальные настройки, специфичные для всех контролов Eremex в приложении Avalonia. Этот класс содержит свойство MxSettings.EnableWindowTransparency, которое управляет прозрачностью и видимостью теней для окон и всплывающих окон Eremex.
Чтобы настроить параметр MxSettings.EnableWindowTransparency, добавьте вызов метода UseEMXServices в цепочку AppBuilder.Configure следующим образом:
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithInterFont()
.LogToTrace()
.UseEMXServices(settings => { settings.EnableWindowTransparency = false; });
1.2.63 (Beta)¶
DataGrid и TreeList¶
Диапазоны столбцов¶
Контролы DataGrid и TreeList теперь поддерживают функцию Column Bands (Диапазоны столбцов). Диапазоны позволяют визуально группировать столбцы вместе и отображать дополнительные заголовки над ними. Контролы поддерживают иерархические диапазоны с неограниченным количеством уровней вложенности.

См. следующие темы для получения дополнительной информации:
Экспорт в формат Excel¶
Теперь вы можете экспортировать данные из контролов DataGrid и TreeList в формат XLSX. Движок экспорта позволяет сохранить параметры форматирования данных контрола в выходном документе XLSX:
- Группировку строк
- Форматирование значений
- Сортировку данных

См. следующие темы, чтобы узнать больше:
Обновления шаблонов¶
Следующие шаблоны для DataGridControl и TreeListControl были обновлены:
<ControlTheme x:Key="{x:Type mxdg:DataGridControl}" TargetType="mxdg:DataGridControl">
<ControlTheme x:Key="{x:Type mxtl:TreeListControl}" TargetType="mxtl:TreeListControl">
Ключевые изменения включают:
- Объект ColumnHeaderPanel в этих шаблонах был заменен на ColumnHeadersControl. Теперь объект ColumnHeaderPanel вложен в шаблон ColumnHeadersControl.
- Все члены класса DataGridGroupPanelControl были перенесены в новый класс DataGridGroupPanelItemsControl (потомок ItemsControl). Класс DataGridGroupPanelControl теперь наследуется от TemplatedControl. Его шаблон включает экземпляр класса DataGridGroupPanelItemsControl.
TreeView¶
Новое свойство TreeViewControl.CellWidth позволяет управлять шириной ячеек в контроле TreeView. Значение по умолчанию для свойства CellWidth — "*", что растягивает ячейки на всю ширину контрола. Если текст ячейки слишком длинный, он обрезается у правого края, и горизонтальная полоса прокрутки не появляется.
Установите свойство CellWidth в "Auto", чтобы автоматически регулировать ширину столбца данных на основе содержимого ячеек. Горизонтальная полоса прокрутки появляется, если максимальная ширина содержимого ячеек превышает ширину контрола.
Декартова диаграмма¶
Новый вид серии Lollipop (CartesianLollipopSeriesView) позволяет визуализировать данные с помощью тонких линий с маркерами на концах. Маркеры обозначают отдельные точки данных, а линии соединяют маркеры с базовой линией.

Основные возможности включают:
- Продление линий до горизонтальной или вертикальной оси.
- Пользовательские маркеры в формате SVG.
Критические изменения¶
-
Point Series Views и потомки — Теперь необходимо использовать синтаксис
{0}вместо синтаксиса#{0}при установке свойстваMarkerImageCss. Это изменение направлено на повышение удобства использования контрола.Свойство
MarkerImageCssв Point Series Views (и потомках) поддерживает стилизацию SVG-элементов на основе CSS. Заполнитель{0}позволяет вставить значение свойстваCartesianLollipopSeriesView.Colorв CSS-код.В предыдущих версиях нужно было добавлять символ
#перед заполнителем{0}:<!-- version 1.1 --> <mxc:CartesianPointSeriesView Color="orange" MarkerImageCss="circle {{fill:#{0}}}">В версии 1.2 и выше используйте синтаксис
{0}без символа#.<!-- version 1.2 --> <mxc:CartesianPointSeriesView Color="orange" MarkerImageCss="circle {{fill:{0}}}">См. следующие темы для получения дополнительной информации:
-
Area Series View и Step Area Series View — Начиная с версии 1.2, интерпретация свойства
Transparencyбыла изменена на противоположную, чтобы соответствовать стандартным графическим соглашениям. Теперь свойство напрямую управляет прозрачностью (а не непрозрачностью) заливаемых областей.Версия 1.2+: *
Transparencyравное0означает полностью непрозрачный *Transparencyравное1означает полностью прозрачныйВерсия 1.1: *
Transparencyравное0означало полностью прозрачный *Transparencyравное1означало полностью непрозрачный
Докинг¶
Переключатель документов¶
Document Switcher (Переключатель документов) — это окно инструментов, которое показывает доступные dock-панели и документы и позволяет пользователям переключаться на конкретную панель с помощью клавиатуры. Пользователи могут нажать CTRL+TAB или CTRL+SHIFT+TAB, чтобы показать Document Switcher.

См. Document Switcher для получения более подробной информации.
Смешанный макет документов¶
Новое свойство DockManager.AllowFreeDocumentLayout позволяет группам документов (DocumentGroups) располагаться рядом друг с другом одновременно и по горизонтали, и по вертикали.

Если эта опция установлена в false (по умолчанию), группы документов могут располагаться рядом друг с другом только по вертикали или только по горизонтали.

Указание содержимого для заголовков FloatGroup¶
Новые свойства FloatGroup.WindowTitle и FloatGroup.WindowIcon позволяют указать заголовок и значок для плавающих групп (плавающих окон). См. следующую тему для более подробной информации: Set a Floating Window's Header and Image.
Редакторы¶
ComboBoxEditor¶
Вы можете использовать новые свойства SelectAllItemText и ClearValueItemText, чтобы указать пользовательские заголовки для предопределенных элементов (Select All) и (None) во всплывающем окне редактора:
- Элемент
(Select All)— Выбирает/снимает выделение со всех элементов. Применяется в режиме множественного выбора. - Элемент
(None)— Очищает текущее выделение, устанавливая значение редактора в null. Применяется в режиме единичного выбора.
PopupEditor и его потомки¶
Редакторы со всплывающими окнами теперь имеют свойство ShowPopupIfReadOnly, которое позволяет отключать всплывающие окна для редакторов в режиме только для чтения.
ColorEditor и PopupColorEditor¶
-
Диалог выбора цвета был переработан. Теперь он отображает сокращенные названия компонентов цвета:

-
Цветовые поля в контролах
ColorEditorиPopupColorEditorтеперь отображают дополнительные секции с серыми квадратами, чтобы указать наличие альфа-канала (прозрачности) в цвете.
* Эта страница была переведена с помощью нейросети Deepseek.