ITextViewLineCollection Interface
Represents a helper class for accessing the view's collection of ITextViewLine objects. The TextViewLines property is used to get an instance of this interface.
Namespace: Microsoft.VisualStudio.Text.Editor
Assembly: Microsoft.VisualStudio.Text.UI (in Microsoft.VisualStudio.Text.UI.dll)
Syntax
声明
Public Interface ITextViewLineCollection _
Inherits IList(Of ITextViewLine), ICollection(Of ITextViewLine), _
IEnumerable(Of ITextViewLine), IEnumerable
public interface ITextViewLineCollection : IList<ITextViewLine>,
ICollection<ITextViewLine>, IEnumerable<ITextViewLine>, IEnumerable
public interface class ITextViewLineCollection : IList<ITextViewLine^>,
ICollection<ITextViewLine^>, IEnumerable<ITextViewLine^>, IEnumerable
type ITextViewLineCollection =
interface
interface IList<ITextViewLine>
interface ICollection<ITextViewLine>
interface IEnumerable<ITextViewLine>
interface IEnumerable
end
public interface ITextViewLineCollection extends IList<ITextViewLine>, ICollection<ITextViewLine>, IEnumerable<ITextViewLine>, IEnumerable
The ITextViewLineCollection type exposes the following members.
Properties
Name | Description | |
---|---|---|
Count | Gets the number of elements contained in the ICollection<T>. (Inherited from ICollection<ITextViewLine>.) | |
FirstVisibleLine | Gets the first line that is not completely hidden. | |
FormattedSpan | Gets the span of text contained in this ITextViewLine collection. | |
IsReadOnly | Gets a value indicating whether the ICollection<T> is read-only. (Inherited from ICollection<ITextViewLine>.) | |
IsValid | Determines whether this ITextViewLineCollection object is still valid. | |
Item | Gets or sets the element at the specified index. (Inherited from IList<ITextViewLine>.) | |
LastVisibleLine | Gets the last line that is not completely hidden. |
Top
Methods
Name | Description | |
---|---|---|
Add | Adds an item to the ICollection<T>. (Inherited from ICollection<ITextViewLine>.) | |
Clear | Removes all items from the ICollection<T>. (Inherited from ICollection<ITextViewLine>.) | |
Contains | Determines whether the ICollection<T> contains a specific value. (Inherited from ICollection<ITextViewLine>.) | |
ContainsBufferPosition | Determines whether the specified buffer position is contained by any of the ITextViewLine objects in the collection. | |
CopyTo | Copies the elements of the ICollection<T> to an Array, starting at a particular Array index. (Inherited from ICollection<ITextViewLine>.) | |
GetCharacterBounds | Gets the text bounds of the specified text buffer position. | |
GetEnumerator() | Returns an enumerator that iterates through the collection. (Inherited from IEnumerable<ITextViewLine>.) | |
GetEnumerator() | Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) | |
GetIndexOfTextLine | Gets the index in the text lines of the given text view line. | |
GetNormalizedTextBounds | Gets a collection of TextBounds structures for the text that corresponds to the given span. | |
GetTextElementSpan | Gets the span whose text element span contains the given buffer position. | |
GetTextViewLineContainingBufferPosition | Gets the ITextViewLine that contains the specified text buffer position. | |
GetTextViewLineContainingYCoordinate | Gets the ITextViewLine that contains the specified y-coordinate. | |
GetTextViewLinesIntersectingSpan | Gets all of the ITextViewLine objects that intersect bufferSpan. | |
IndexOf | Determines the index of a specific item in the IList<T>. (Inherited from IList<ITextViewLine>.) | |
Insert | Inserts an item to the IList<T> at the specified index. (Inherited from IList<ITextViewLine>.) | |
IntersectsBufferSpan | Determines whether the specified buffer span intersects any of the ITextViewLine objects in the collection. | |
Remove | Removes the first occurrence of a specific object from the ICollection<T>. (Inherited from ICollection<ITextViewLine>.) | |
RemoveAt | Removes the IList<T> item at the specified index. (Inherited from IList<ITextViewLine>.) |
Top
Remarks
The ITextView disposes its ITextViewLineCollection and all the ITextViewLine objects it contains every time it generates a new layout.
Most properties and parameters that are doubles correspond to coordinates or distances in the text rendering coordinate system. In this coordinate system, x = 0.0 corresponds to the left edge of the drawing surface onto which text is rendered (x = view.ViewportLeft corresponds to the left edge of the viewport), and y = view.ViewportTop corresponds to the top edge of the viewport. The x-coordinate increases from left to right, and the y-coordinate increases from top to bottom. The horizontal and vertical axes of the view behave differently. When the text in the view is formatted, only the visible lines are formatted. As a result, a viewport cannot be scrolled horizontally and vertically in the same way. A viewport is scrolled horizontally by changing the left coordinate of the viewport so that it moves with respect to the drawing surface. A view can be scrolled vertically only by performing a new layout. Doing a layout in the view may cause the ViewportTop property of the view to change.
For example, scrolling down one line will not translate any of the visible lines. Instead it will simply change the ViewportTop property (causing the lines to move on the screen even though their y-coordinates have not changed). Distances in the text rendering coordinate system correspond to logical pixels. If the text rendering surface is displayed without any scaling transform, then 1 unit in the text rendering coordinate system corresponds to one pixel on the display.