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 .

  1. Текстовый диапазон нормализован, т. е. он свернут до вырожденного диапазона в конечной точке Start , что делает конечную точку End избыточной. Этот шаг необходим для устранения неоднозначности в ситуациях, когда текстовый диапазон охватывает границы unit ; например, "{U}RL https://www.microsoft.com/ внедрен в текст", где "{" и "}" являются конечными точками диапазона текста.

  2. Результирующий диапазон перемещается в DocumentRange в начало запрошенной границы unit .

  3. Затем диапазон расширяется из вырожденного состояния путем перемещения конечной точки End на одну запрошенную границу unit .

Корректировки диапазона по move & ExpandToEnclosingUnit
Примеры корректировки текстового диапазона для Move() и ExpandToEnclosingUnit()

MoveEndpointByUnit откладывает до следующего по величине TextUnit поддерживаемого, если заданный TextUnit не поддерживается элементом управления .

Ниже приведен порядок от наименьшей единицы до наибольшего.

Применяется к