ITextRangeProvider.MoveEndpointByUnit Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перемещает конечную точку текстового диапазона на заданное количество единиц текста в диапазоне всего документа.
public:
int MoveEndpointByUnit(System::Windows::Automation::Text::TextPatternRangeEndpoint endpoint, System::Windows::Automation::Text::TextUnit unit, int count);
public int MoveEndpointByUnit (System.Windows.Automation.Text.TextPatternRangeEndpoint endpoint, System.Windows.Automation.Text.TextUnit unit, int count);
abstract member MoveEndpointByUnit : System.Windows.Automation.Text.TextPatternRangeEndpoint * System.Windows.Automation.Text.TextUnit * int -> int
Public Function MoveEndpointByUnit (endpoint As TextPatternRangeEndpoint, unit As TextUnit, count As Integer) As Integer
Параметры
- endpoint
- TextPatternRangeEndpoint
Перемещаемая конечная точка.
- unit
- TextUnit
Перемещаемая единица текста.
- count
- Int32
Число перемещаемых единиц. При положительном значении выполняется перемещение вперед. При отрицательном значении выполняется перемещение назад. При значении 0 перемещение не выполняется.
Возвращаемое значение
Количество единиц, на которое выполнено перемещение; оно может быть меньше запрошенного количества единиц, если при перемещении конечная точка достигает начала или конца документа.
Комментарии
Для обхода содержимого текстового диапазона в фоновом режиме применяется ряд шагов для успешного выполнения метода Move .
Текстовый диапазон нормализован, т. е. он свернут до вырожденного диапазона в конечной точке Start , что делает конечную точку End избыточной. Этот шаг необходим для устранения неоднозначности в ситуациях, когда текстовый диапазон охватывает границы
unit
; например, "{U}RL https://www.microsoft.com/ внедрен в текст", где "{" и "}" являются конечными точками диапазона текста.Результирующий диапазон перемещается в DocumentRange в начало запрошенной границы
unit
.Затем диапазон расширяется из вырожденного состояния путем перемещения конечной точки End на одну запрошенную границу
unit
.
Примеры корректировки текстового диапазона для Move() и ExpandToEnclosingUnit()
MoveEndpointByUnit откладывает до следующего по величине TextUnit поддерживаемого, если заданный TextUnit не поддерживается элементом управления .
Ниже приведен порядок от наименьшей единицы до наибольшего.