Редактирование данных¶
Встроенные редакторы Eremex по умолчанию¶
Если вы явно не указываете встроенные редакторы для строк, контрол PropertyGrid использует встроенные редакторы Eremex для отображения и редактирования значений строк распространенных типов данных.
В следующем списке показаны редакторы Eremex, связанные с распространенными типами данных:
- Логические значения —
CheckEditor
- Двойные значения —
SpinEditor
- Значения перечисления —
ComboBoxEditor
- Свойства с атрибутом
TypeConverter
, методTypeConverter.GetStandardValuesSupported
которого возвращаетtrue
—ComboBoxEditor
- Другие значения —
TextEditor
Вы можете динамически получать доступ к экземплярам встроенных редакторов Eremex и изменять их, когда эти редакторы активированы. Смотрите раздел Доступ к активному встроенному редактору Eremex для получения более подробной информации.
Назначьте встроенных редакторов Eremex¶
Вы можете явно назначить строкам встроенные редакторы Eremex, если вам нужно переопределить дефолтное назначение редактора или настроить редакторы строк в XAML или code-behind.
Используйте свойство PropertyGridRow.EditorProperties
для этой цели следующим образом:
-
Создайте и настройте экземпляр вспомогательного класса
...EditorProperties
, который хранит свойства, специфичные для требуемого встроенного редактора. Все эти вспомогательные классы являются потомкамиBaseEditorProperties
:ButtonEditorProperties
— Содержит свойства, специфичные для контролаButtonEditor
.CheckEditorProperties
— Содержит свойства, специфичные для контролаCheckEditor
.ColorEditorProperties
— Содержит свойства, специфичные для контролаColorEditor
.ComboBoxEditorProperties
— Содержит свойства, специфичные для контролаComboBoxEditor
.HyperlinkEditorProperties
— Содержит свойства, специфичные для контролаHyperlinkEditor
.PopupColorEditorProperties
— Содержит свойства, специфичные для контролаPopupColorEditor
.PopupEditorProperties
— Содержит свойства, специфичные для контролаPopupEditor
.SegmentedEditorProperties
— Содержит свойства, специфичные для контролаSegmentedEditor
.SpinEditorProperties
— Содержит свойства, специфичные для контролаSpinEditor
.TextEditorProperties
— Содержит свойства, специфичные для контролаTextEditor
.
-
Задайте свойству
PropertyGridRow.EditorProperties
значение для созданного экземпляра...EditorProperties
.
xmlns:mxpg="https://schemas.eremexcontrols.net/avalonia/propertygrid"
xmlns:mxe="https://schemas.eremexcontrols.net/avalonia/editors"
<mxpg:PropertyGridRow FieldName="OrderNo">
<mxpg:PropertyGridRow.EditorProperties >
<mxe:ButtonEditorProperties TextWrapping="Wrap" />
</mxpg:PropertyGridRow.EditorProperties>
</mxpg:PropertyGridRow>
Свойство PropertyGridRow.CellTemplate
- это еще один способ назначить строке редактор Eremex. Убедитесь, что в редакторе Eremex для свойства x:Name
установлено значение "PART_Editor". В этом случае PropertyGrid автоматически привязывает свойство редактора EditorValue
к привязанному полю строки. Кроме того, PropertyGrid начинает поддерживать свойства внешнего вида встроенного редактора (видимость границ и цвет отображаемого текста в активном и неактивном состояниях).
xmlns:mxpg="https://schemas.eremexcontrols.net/avalonia/propertygrid"
xmlns:mxe="https://schemas.eremexcontrols.net/avalonia/editors"
...
<mxpg:PropertyGridRow FieldName="Caption">
<mxpg:PropertyGridRow.CellTemplate>
<DataTemplate>
<mxe:ButtonEditor x:Name="PART_Editor">
<mxe:ButtonEditor.Buttons>
<mxe:ButtonSettings Content="..."/>
</mxe:ButtonEditor.Buttons>
</mxe:ButtonEditor>
</DataTemplate>
</mxpg:PropertyGridRow.CellTemplate>
</mxpg:PropertyGridRow>
Пользовательские редакторы¶
PropertyGrid позволяет вам указывать пользовательские редакторы для ячеек строк. Вы можете назначить редактор непосредственно определенной строке или динамически назначать редакторы строкам на основе типа данных нижележащего объекта строки. Дополнительную информацию смотрите в следующем разделе: Пользовательские редакторы .
Доступ к активному встроенному редактору Eremex¶
- Свойство
ActiveEditor
— Возвращает активный встроенный редактор.
Чтобы повысить производительность контрола, PropertyGrid использует облегченные версии встроенных редакторов Eremex при отображении значений ячеек в режиме отображения (когда редактирование текста не активно). Когда в ячейке начинается операция редактирования текста, встроенный редактор переключается со своей облегченной версии на полнофункциональную. В этом случае вы можете использовать свойство ActiveEditor
для доступа к экземпляру редактора Eremex. Когда ячейка строки теряет фокус, редактор переключается обратно на свою облегченную версию, а свойство ActiveEditor
возвращает значение null
.
- Событие
ShowingEditor
— позволяет получать уведомления о начале операций редактирования в ячейках строк. Вы можете безопасно получить доступ к свойствуActiveEditor
в обработчике событийShowingEditor
.
Показать редактор ячеек¶
- Метод
ShowEditor
— Активирует редактор ячеек в выделенной строке. - Событие
ShowingEditor
— позволяет предотвратить активацию редактора ячеек пользователями в определенных случаях. При обработке событияShowingEditor
установите для параметра событияCancel
значениеtrue
, чтобы отключить активацию редактора.
Закройте активный встроенный редактор¶
- Метод
CloseEditor
— Сохраняет изменения, внесенные в редакторе ячеек, и закрывает редактор. -
Метод
HideEditor
— Закрывает редактор ячеек без сохранения каких-либо изменений. -
Событие
HiddenEditor
— срабатывает после закрытия активного редактора ячеек.
Сохраните изменения, внесенные в встроенном редакторе¶
- Метод
CloseEditor
— Сохраняет изменения, внесенные в редакторе ячеек, и закрывает редактор. - Метод
PostEditor
— Сохраняет изменения, внесенные в редакторе активных ячеек, не закрывая редактор.
* Эта страница была создана автоматически с помощью сервиса машинного перевода Яндекс Переводчик.