Поделиться через


ITextRangeProvider.Move(TextUnit, Int32) Метод

Определение

Перемещает текстовый диапазон на заданное количество единиц текста.

public:
 int Move(System::Windows::Automation::Text::TextUnit unit, int count);
public int Move (System.Windows.Automation.Text.TextUnit unit, int count);
abstract member Move : System.Windows.Automation.Text.TextUnit * int -> int
Public Function Move (unit As TextUnit, count As Integer) As Integer

Параметры

unit
TextUnit

Граница единицы текста.

count
Int32

Количество единиц текста, на которое следует выполнить перемещение.

Положительное значение соответствует перемещению текстового диапазона вперед, отрицательное — назад, а при значении 0 перемещение не выполняется.

Возвращаемое значение

Количество единиц текста, на которое выполнено перемещение. Оно может быть меньше запрошенного количества, если одна из новых конечных точек текстового диапазона больше или меньше конечных точек DocumentRange.

Комментарии

Для обхода содержимого текстового диапазона в фоновом режиме применяется ряд шагов для успешного выполнения метода Move .

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

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

  3. Диапазон перемещается вперед или назад в DocumentRange на запрошенное число границ unit .

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

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

Текстовое содержимое (или внутренний текст) текстового контейнера и внедренного объекта, например гиперссылки или ячейки таблицы, предоставляется в виде единого непрерывного текстового потока как в представлении элемента управления, так и в представлении содержимого дерева модель автоматизации пользовательского интерфейса; границы объектов игнорируются.

Диапазоны текста, охватываемые внедренными объектами.
Пример текстового потока с внедренными объектами и их диапазонами

Move учитывает как скрытый, так и видимый текст.

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

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

Текст не изменяется каким-либо образом, диапазон текста просто охватывает другую часть текста.

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