IWpfTextViewLineCollection Interface

Allows the ITextView to access the view's collection of ITextViewLine objects. You can use the TextViewLines property to get an instance of the ITextViewLineCollection interface.

Namespace:  Microsoft.VisualStudio.Text.Editor
Assembly:  Microsoft.VisualStudio.Text.UI.Wpf (in Microsoft.VisualStudio.Text.UI.Wpf.dll)

Syntax

'Declaration
Public Interface IWpfTextViewLineCollection _
    Inherits ITextViewLineCollection, IList(Of ITextViewLine), ICollection(Of ITextViewLine),  _
    IEnumerable(Of ITextViewLine), IEnumerable
public interface IWpfTextViewLineCollection : ITextViewLineCollection, 
    IList<ITextViewLine>, ICollection<ITextViewLine>, IEnumerable<ITextViewLine>, 
    IEnumerable
public interface class IWpfTextViewLineCollection : ITextViewLineCollection, 
    IList<ITextViewLine^>, ICollection<ITextViewLine^>, IEnumerable<ITextViewLine^>, 
    IEnumerable
type IWpfTextViewLineCollection =  
    interface 
        interface ITextViewLineCollection 
        interface IList<ITextViewLine>
        interface ICollection<ITextViewLine>
        interface IEnumerable<ITextViewLine>
        interface IEnumerable 
    end
public interface IWpfTextViewLineCollection extends ITextViewLineCollection, IList<ITextViewLine>, ICollection<ITextViewLine>, IEnumerable<ITextViewLine>, IEnumerable

The IWpfTextViewLineCollection type exposes the following members.

Properties

  Name Description
Public property Count Gets the number of elements contained in the ICollection<T>. (Inherited from ICollection<ITextViewLine>.)
Public property FirstVisibleLine Gets the first line that is not completely hidden.
Public property FormattedSpan Gets the span of text contained in this ITextViewLine collection. (Inherited from ITextViewLineCollection.)
Public property IsReadOnly Gets a value indicating whether the ICollection<T> is read-only. (Inherited from ICollection<ITextViewLine>.)
Public property IsValid Determines whether this ITextViewLineCollection object is still valid. (Inherited from ITextViewLineCollection.)
Public property Item Get the IWpfTextViewLine at index.
Public property LastVisibleLine Gets the last line that is not completely hidden.
Public property WpfTextViewLines Gets a collection of IWpfTextViewLine objects.

Top

Methods

  Name Description
Public method Add Adds an item to the ICollection<T>. (Inherited from ICollection<ITextViewLine>.)
Public method Clear Removes all items from the ICollection<T>. (Inherited from ICollection<ITextViewLine>.)
Public method Contains Determines whether the ICollection<T> contains a specific value. (Inherited from ICollection<ITextViewLine>.)
Public method ContainsBufferPosition Determines whether the specified buffer position is contained by any of the ITextViewLine objects in the collection. (Inherited from ITextViewLineCollection.)
Public method CopyTo Copies the elements of the ICollection<T> to an Array, starting at a particular Array index. (Inherited from ICollection<ITextViewLine>.)
Public method GetCharacterBounds Gets the text bounds of the specified text buffer position. (Inherited from ITextViewLineCollection.)
Public method GetEnumerator Returns an enumerator that iterates through the collection. (Inherited from IEnumerable<ITextViewLine>.)
Public method GetIndexOfTextLine Gets the index in the text lines of the given text view line. (Inherited from ITextViewLineCollection.)
Public method GetLineMarkerGeometry(SnapshotSpan) Gets the text marker geometry for the specified range of text in the buffer by using a polygonal approximation algorithm to calculate the outline path of the text regions.
Public method GetLineMarkerGeometry(SnapshotSpan, Boolean, Thickness) Gets the text marker geometry for the specified range of text in the buffer by using a polygonal approximation algorithm to calculate the outline path of the text regions.
Public method GetMarkerGeometry(SnapshotSpan) Creates a marker geometry for the specified snapshot span.
Public method GetMarkerGeometry(SnapshotSpan, Boolean, Thickness) Creates a marker geometry for the specified snapshot span.
Public method GetNormalizedTextBounds Gets a collection of TextBounds structures for the text that corresponds to the given span. (Inherited from ITextViewLineCollection.)
Public method GetTextElementSpan Gets the span whose text element span contains the given buffer position. (Inherited from ITextViewLineCollection.)
Public method GetTextMarkerGeometry(SnapshotSpan) Gets the text marker geometry for the specified range of text in the buffer by using a polygonal approximation algorithm to calculate the outline path of the text regions.
Public method GetTextMarkerGeometry(SnapshotSpan, Boolean, Thickness) Gets the text marker geometry for the specified range of text in the buffer by using a polygonal approximation algorithm to calculate the outline path of the text regions.
Public method GetTextViewLineContainingBufferPosition Gets the IWpfTextViewLine that contains the specified text buffer position.
Public method GetTextViewLineContainingYCoordinate Gets the ITextViewLine that contains the specified y-coordinate. (Inherited from ITextViewLineCollection.)
Public method GetTextViewLinesIntersectingSpan Gets all of the ITextViewLine objects that intersect bufferSpan. (Inherited from ITextViewLineCollection.)
Public method IndexOf Determines the index of a specific item in the IList<T>. (Inherited from IList<ITextViewLine>.)
Public method Insert Inserts an item to the IList<T> at the specified index. (Inherited from IList<ITextViewLine>.)
Public method IntersectsBufferSpan Determines whether the specified buffer span intersects any of the ITextViewLine objects in the collection. (Inherited from ITextViewLineCollection.)
Public method Remove Removes the first occurrence of a specific object from the ICollection<T>. (Inherited from ICollection<ITextViewLine>.)
Public method 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 view.ViewportTop property 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.

See Also

Reference

Microsoft.VisualStudio.Text.Editor Namespace