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

如果 IsBoxSelectiontrue,则返回一个实例化的实例化, Selection 调用方可以询问或操作以与框本身一起工作。 对 AllSelectionsGetSelectionsIntersectingSpan(SnapshotSpan) 的调用将返回每个行项(而不是完整框)的单个。

如果 IsBoxSelectionfalse,则将返回 null。

CurrentSnapshot

获取 ITextSnapshot 与此 broker 管理的所有内容的定位点、活动和插入点相关联的当前。 此快照将始终基于关联的的 EditBuffer ITextView

HasMultipleSelections

获取中是否有多个选择 AllSelections

IsBoxSelection

如果SetBoxSelection(Selection) 调用,并且所选内容由框几何图形而不是用户手动管理,则返回 true。 ClearSecondarySelections()BreakBoxSelection() 会将此值恢复为 false,其他一些方法(如) AddSelection(Selection) 间接还会将此 设置回 false。

PrimarySelection

获取应在调用后保留的主选择 ClearSecondarySelections()

SelectedSpans

获取中选定的范围列表 CurrentSnapshot 。 尽管两个选择不能重叠,但它们可能会具有虚拟空间,并且所选内容可能相邻。 这会合并这些范围,并返回可用于描述所选内容的最小范围集。 这可能是一种代价高昂的操作,只应在需要时运行。

SelectionExtent

获取包含所有选择、包含虚拟空间的范围。

TextView

获取此 broker 管理所选内容的视图。

VirtualSelectedSpans

提供选定的一组跨度。 每个选择仅有一个跨度,但它可能为空。 它们将按文档中外观的顺序进行排序。

方法

AddSelection(Selection)

向添加所选内容 AllSelections

AddSelectionRange(IEnumerable<Selection>)

向添加一个选择列表 AllSelections

BeginBatchOperation()
BreakBoxSelection()

清除 BoxSelection ,但保留所选内容的当前状态。 这是一个很有用的实用工具,用于执行端和 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 。 对于已在 broker 中的选择,首选 X 和 Y 坐标的行为是不确定的。

TryEnsureVisible(Selection, EnsureSpanVisibleOptions)

尝试使给定选定内容在视图中可见。

TryGetSelectionPresentationProperties(Selection, AbstractSelectionPresentationProperties)

Trys 获取与给定选择关联的 UI 属性。

TryPerformActionOnSelection(Selection, Action<ISelectionTransformer>, Selection)

尝试在单个上执行自定义操作 Selection

TryPerformActionOnSelection(Selection, PredefinedSelectionTransformations, Selection)

尝试在单个上执行预定义的操作 Selection

TryRemoveSelection(Selection)

从视图中删除选定内容。

TrySetAsPrimarySelection(Selection)

尝试将提供的选择设置为新的 PrimarySelection

事件

MultiSelectionSessionChanged

添加/删除/更新选择时发生。 如果更改了主选项,则在进入/退出选择模式时也是如此。

适用于