AsTextRange Method


Returns a TextRange object that represents the entire text.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 17.0.0.0 (17.0.1090.0)
Since: 2017

Syntax

C#
public TextRange AsTextRange()
Visual Basic
Public Function AsTextRange As TextRange
Visual C++
public:
TextRange^ AsTextRange()

Return Value

The TextRange object that represents the entire text.

Remarks

This range includes a carriage return character ('\r') that is always present. As a result the range can never be an empty range.

Examples

Copy C#
public void AppendText(TextNote textNote)
{
    FormattedText formatText = textNote.GetFormattedText();

    TextRange range = formatText.AsTextRange();

    range.Start = range.End - 1;
    // set Length to 0 to insert
    range.Length = 0;
    string someNewText = "\rThis is a new paragraph\vThis is a new line without a paragraph break\r";
    formatText.SetPlainText(range, someNewText);

    // get range for entire text
    range = formatText.AsTextRange();
    range.Start = range.End - 1;
    range.Length = 0;
    string someListText = "\rBulleted List item 1\rItem 2\vSecond line for Item 2\rThird bullet point";
    formatText.SetPlainText(range, someListText);
    range.Start++;
    range.Length = someListText.Length;
    formatText.SetListType(range, ListType.Bullet);

    if (formatText.GetAllCapsStatus(range) != FormatStatus.None)
    {
        formatText.SetAllCapsStatus(range, false);
    }

    textNote.SetFormattedText(formatText);
}
Copy VB.NET
Public Sub AppendText(textNote As TextNote)
    Dim formatText As FormattedText = textNote.GetFormattedText()

    Dim range As TextRange = formatText.AsTextRange()

    range.Start = range.[End] - 1
    ' set Length to 0 to insert
    range.Length = 0
    Dim someNewText As String = vbCr & "This is a new paragraph" & vbVerticalTab & "This is a new line without a paragraph break" & vbCr
    formatText.SetPlainText(range, someNewText)

    ' get range for entire text
    range = formatText.AsTextRange()
    range.Start = range.[End] - 1
    range.Length = 0
    Dim someListText As String = vbCr & "Bulleted List item 1" & vbCr & "Item 2" & vbVerticalTab & "Second line for Item 2" & vbCr & "Third bullet point"
    formatText.SetPlainText(range, someListText)
    range.Start += 1
    range.Length = someListText.Length
    formatText.SetListType(range, ListType.Bullet)

    If formatText.GetAllCapsStatus(range) <> FormatStatus.None Then
        formatText.SetAllCapsStatus(range, False)
    End If

    textNote.SetFormattedText(formatText)
End Sub

See Also