TextRange Class
Represents a selection of content between two TextPointer positions.
Assembly: PresentationFramework (in PresentationFramework.dll)
The TextRange type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | TextRange | Initializes a new instance of the TextRange class, taking two specified TextPointer positions as the beginning and end positions for the new range. |
| Name | Description | |
|---|---|---|
![]() | ApplyPropertyValue | Applies a specified formatting property and value to the current selection. |
![]() | CanLoad | Checks whether the current selection can be loaded with content in a specified data format. |
![]() | CanSave | Checks whether the current selection can be saved as a specified data format. |
![]() | ClearAllProperties | Removes all formatting properties (represented by Inline elements) from the current selection. |
![]() | Contains | Checks whether a position (specified by a TextPointer) is located within the current selection. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetPropertyValue | Returns the effective value of a specified formatting property on the current selection. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Load | Loads the current selection in a specified data format from a specified stream. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | Save(Stream, String) | Saves the current selection to a specified stream in a specified data format. |
![]() | Save(Stream, String, Boolean) | Saves the current selection to a specified stream in a specified data format, with the option of preserving custom TextElement objects. |
![]() | Select | Updates the current selection, taking two TextPointer positions to indicate the updated selection. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
The TextRange class introduces the following terminology.
Selection - A TextRange is a selection of content between two positions indicated by TextPointers. One of these positions a fixed anchor with respect to the selection, while the other position is movable. This is similar to how a selection made by a user using the mouse or keyboard behaves.
Current Selection - Because a TextRange always indicates a selection in content, it makes sense to simply refer to the selection indicated by a TextRange as the current selection.
Text Container - A text container is the element that forms the ultimate border for the flow content at hand; the selection indicated by a TextRange always falls within a text container. Currently, a text container must be either a FlowDocument or a TextBlock.
Document - The content collectively contained within a text container is referred to as a document.
For more information about other related terms like position, see TextPointer.
The following example demonstrates using the Text property of a TextRange to return the plain text representation of a specified FlowDocument.
// This method returns a plain text representation of a specified FlowDocument. string GetTextFromFlowDocument(FlowDocument flowDoc) { // Create a new TextRanage that takes the entire FlowDocument as the current selection. TextRange flowDocSelection = new TextRange(flowDoc.ContentStart, flowDoc.ContentEnd); // Use the Text property to extract a string that contains the unformatted text contents // of the FlowDocument. return flowDocSelection.Text; }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
