IMultiSelectionBroker Интерфейс

Определение

Управляет всеми курсорами и выбором поведения для ITextView . Обрабатывает множественный выбор и выделение полей. По всему этому пространству имен они считаются частью выбора и представляются InsertionPoint .

public interface class IMultiSelectionBroker
public interface IMultiSelectionBroker
type IMultiSelectionBroker = interface
Public Interface IMultiSelectionBroker

Свойства

ActivationTracksFocus

Определяет, должен ли AreSelectionsActive отслеживать, когда ITextView получает и теряет фокус агрегации. Значение по умолчанию — true.

AllSelections

Возвращает список всех параметров, связанных с TextView . Они будут отсортированы в порядке их отображения в базовом снимке. Это свойство предназначено для операций редактирования и может быть затратным для вычислений. Если не все параметры являются обязательными, используйте GetSelectionsIntersectingSpan(SnapshotSpan) вместо него.

Это Возвращает выделенный фрагмент как Selection .

AreSelectionsActive

Указывает, активны ли выделенные элементы в TextView .

BoxSelection

Если IsBoxSelection имеет значение true, возвращает экземпляр, Selection который вызывающий объект может опрашивать или манипулировать для работы с самим окном. Вызовы метода AllSelections или GetSelectionsIntersectingSpan(SnapshotSpan) возвращают индивидуальные значения в каждой строке, а не в полном поле.

Если IsBoxSelection имеет значение false, то возвращается значение null.

CurrentSnapshot

Возвращает текущий объект ITextSnapshot , связанный с точкой привязки, активной и точкой вставки для всех элементов управления, которыми управляет этот брокер. Этот моментальный снимок всегда будет основываться на EditBuffer для связанного ITextView .

HasMultipleSelections

Возвращает, существует ли несколько вариантов выбора в AllSelections .

IsBoxSelection

Возвращает значение true , если был SetBoxSelection(Selection) вызван, а выделенные элементы управляются с помощью геометрического поля, а не вручную пользователем. ClearSecondarySelections() и BreakBoxSelection() возменяют это значение на false, и несколько других методов, таких как AddSelection(Selection) , также будут неявно установлены в значение false.

PrimarySelection

Возвращает основной выбор, который должен остаться после вызова ClearSecondarySelections() .

SelectedSpans

Возвращает список CurrentSnapshot выделенных диапазонов. Хотя два выделения не могут перекрываться, они могут покрывают виртуальное пространство, а выделенные фрагменты могут быть смежными. Это приведет к слиянию этих диапазонов и возвратить минимальный набор диапазонов, которые можно использовать для описания выбора. Это может быть дорогостоящей операцией, и ее следует запускать только при необходимости.

SelectionExtent

Возвращает диапазон, содержащий все выделенные элементы с виртуальным пространством.

TextView

Возвращает представление, для которого этот брокер управляет выбранными параметрами.

VirtualSelectedSpans

Возвращает набор выделенных диапазонов. Для каждого выделения существует ровно один диапазон, но он может быть пустым. Они будут отсортированы в порядке их отображения в документе.

Методы

AddSelection(Selection)

Добавляет выделенный фрагмент в AllSelections .

AddSelectionRange(IEnumerable<Selection>)

Добавляет список вариантов выбора в AllSelections .

BeginBatchOperation()
BreakBoxSelection()

Очищает BoxSelection , но оставляет текущее состояние выбора. Эта служебная программа полезна при выполнении жестов, таких как End и Home, где каждый выделенный фрагмент перемещается, но результат не обязательно является полем.

ClearSecondarySelections()

Удаляет все, кроме, PrimarySelection из сеанса.

GetSelectionsIntersectingSpan(SnapshotSpan)

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

GetSelectionsIntersectingSpans(NormalizedSnapshotSpanCollection)

Возвращает список всех выделений, пересекающихся с заданной коллекцией диапазонов. Виртуальный пробел не учитывается для этого метода.

PerformActionOnAllSelections(Action<ISelectionTransformer>)

Выполняет пользовательское действие для всех объектов Selection , содержащихся в TextView .

PerformActionOnAllSelections(PredefinedSelectionTransformations)

Выполняет предопределенную манипуляцию со всеми Selection элементами, содержащимися в TextView .

SetBoxSelection(Selection)

Добавляет поле выбора с заданными точками в качестве углов.

SetSelection(Selection)

Очищает текущий выбор и добавляет его в качестве нового значения. Это также стало PrimarySelection .

SetSelectionRange(IEnumerable<Selection>, Selection)

Очищает текущий выбор, добавляет указанный диапазон и задает основной выбор.

TransformSelection(Selection, PredefinedSelectionTransformations)

Выполняет заданное преобразование для заданного выбора без обновления AllSelections . Поведение предпочтительных координат X и Y для выбора, уже находящейся в брокере, не определено.

TryEnsureVisible(Selection, EnsureSpanVisibleOptions)

Пытается сделать данный выбор видимым в представлении.

TryGetSelectionPresentationProperties(Selection, AbstractSelectionPresentationProperties)

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

TryPerformActionOnSelection(Selection, Action<ISelectionTransformer>, Selection)

Пытается выполнить настраиваемое действие для одного Selection .

TryPerformActionOnSelection(Selection, PredefinedSelectionTransformations, Selection)

Пытается выполнить предопределенное действие для одного Selection .

TryRemoveSelection(Selection)

Удаляет выделенный фрагмент из представления.

TrySetAsPrimarySelection(Selection)

Пытается задать предоставленный выбор в качестве нового PrimarySelection .

События

MultiSelectionSessionChanged

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

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