TextEditor¶
Контрол TextEditor предоставляет базовые возможности редактирования текста. Он поддерживает маски, которые позволяют ограничивать ввод пользователя и форматировать значения.
Основные возможности контрола включают:
- Поддержку однострочного и многострочного текста.
- Перенос текста.
- Использование масок для задания шаблона ввода данных.
- Использование масок для форматирования значений, когда редактор не в фокусе.
- Выделение текста.
- Водяные знаки
Задание текста и настройка параметров текста¶
Свойство TextEditor.EditorValue задаёт текст редактора. Если текст содержит символы NewLine, редактор отображает текст на нескольких строках.
Перенос текста¶
Свойство TextEditor.TextWrapping позволяет активировать автоматический перенос текста у правого края редактора. Установите это свойство в значение Avalonia.Media.TextWrapping.Wrap, чтобы включить обычный режим переноса текста.
Приём клавиш Tab и Enter при вводе¶
Пользователи могут нажимать клавиши Tab и Enter, чтобы вставлять символы Tab и Return в текст. Вы можете использовать следующие опции, чтобы изменить это поведение:
TextEditor.AcceptsReturn— задаёт, вставляется ли символ NewLine при нажатии клавиши Enter. Если это свойство отключено, редактор игнорирует клавишу Enter.TextEditor.AcceptsTab— задаёт, вставляется ли символ табуляции при нажатии клавиши Tab. Если это свойство отключено, фокус перемещается на следующий контрол в порядке табуляции при нажатии клавиши Tab.
Маски¶
Маска, применённая к текстовому редактору, направляет пользователя вводить значения в соответствии с заданным шаблоном. Ввод с маской по умолчанию включён для контролов DateEditor и SpinEditor и отключён для других текстовых редакторов.
Чтобы включить ввод с маской, сделайте следующее:
- Установите свойство
TextEditor.MaskTypeв тип маски. - Установите свойство
TextEditor.Maskв маску.
Тип маски¶
Свойство TextEditor.MaskType позволяет выбрать режим маски из следующих опций:
MaskType.Numeric— режим маски, предназначенный для приёма числовых значений.MaskType.DateTime— режим маски, предназначенный для приёма значений даты-времени.MaskType.None— ввод с маской отключён.
Строки маски¶
Используйте свойство TextEditor.Mask, чтобы задать строку, определяющую маску. Маска составляется из спецификаторов маски, специфичных для выбранного типа маски.
Дополнительную информацию смотрите в следующих разделах:
Пример - разрешение ввода целочисленных значений в текстовом редакторе¶
Следующий код применяет числовую маску "d", чтобы ограничить ввод данных целочисленными значениями в TextEditor.
xmlns:mxe="https://schemas.eremexcontrols.net/avalonia/editors"
<mxe:TextEditor Name="textEditor1" MaskType="Numeric" Mask="d"
HorizontalContentAlignment="Right"/>
Использование маски как формата отображения¶
Маску, заданную свойством TextEditor.Mask, можно использовать для форматирования значения редактора в режиме отображения (когда редактирование текста не активно). Эту настройку задаёт свойство TextEditor.MaskUseAsDisplayFormat. Значение свойства по умолчанию — true.
Настройки культуры маски¶
Многие маски зависят от текущей культуры. Например, десятичный разделитель для числовых масок различается в разных культурах. Значения даты-времени форматируются с использованием специфичных для культуры шаблонов и локализованных названий дней недели и месяцев.
Свойство TextEditor.MaskCulture позволяет задать культуру, используемую маской. Если это свойство не задано, используется культура приложения по умолчанию.
Пример¶
Следующий код задаёт числовую маску "c" для ввода денежных значений в текстовом редакторе и применяет к маске культуру китайскую (упрощённую).
textEditor1.EditorValue = 12.34567;
textEditor1.MaskType = Eremex.AvaloniaUI.Controls.Editors.MaskType.Numeric;
textEditor1.MaskCulture = new CultureInfo("zh-CN");
textEditor1.Mask = "c";
Выделение текста¶
Пользователь может выделять текст с помощью мыши и клавиатуры.
Чтобы выделить часть текста и очистить выделение в коде, используйте следующий API:
TextEditor.SelectionStart— индекс (начиная с нуля) начального символа выделения текста.TextEditor.SelectionEnd— индекс (начиная с нуля) конечного символа выделения текста.TextEditor.SelectAll— выделяет весь текст.TextEditor.ClearSelection— снимает выделение с выделенного текста.
Водяные знаки¶
Контрол TextEditor и его потомки поддерживают водяные знаки. Водяной знак — это серая подсказка, отображаемая, когда значение редактора пусто или равно null.
Используйте свойство TextEditor.Watermark, чтобы задать водяной знак.
xmlns:mxe="https://schemas.eremexcontrols.net/avalonia/editors"
<mxe:TextEditor Name="textEditor1" Watermark="Type to search"/>
Смотрите также¶
* Эта страница переведена с использованием технологий машинного перевода.



