Bagikan melalui


TextPointer.GetTextInRun Metode

Definisi

Mengembalikan teks yang berdingin dengan saat ini TextPointer.

Overload

GetTextInRun(LogicalDirection)

Mengembalikan string yang berisi teks apa pun yang berdampingan dengan saat ini TextPointer dalam arah logika yang ditentukan.

GetTextInRun(LogicalDirection, Char[], Int32, Int32)

Menyalin jumlah karakter maksimum yang ditentukan dari teks yang berdampingan dalam arah yang ditentukan ke dalam array karakter yang disediakan pemanggil.

GetTextInRun(LogicalDirection)

Mengembalikan string yang berisi teks apa pun yang berdampingan dengan saat ini TextPointer dalam arah logika yang ditentukan.

public:
 System::String ^ GetTextInRun(System::Windows::Documents::LogicalDirection direction);
public string GetTextInRun (System.Windows.Documents.LogicalDirection direction);
member this.GetTextInRun : System.Windows.Documents.LogicalDirection -> string
Public Function GetTextInRun (direction As LogicalDirection) As String

Parameter

direction
LogicalDirection

Salah LogicalDirection satu nilai yang menentukan arah logis untuk menemukan dan mengembalikan teks yang berbatasan.

Mengembalikan

String yang berisi teks yang berdekatan dalam arah logis yang ditentukan, atau Empty jika tidak ada teks yang berdekatan yang dapat ditemukan.

Contoh

Contoh berikut menunjukkan penggunaan untuk metode ini. Contohnya menggunakan GetTextInRun metode untuk mengimplementasikan ekstraktor teks sederhana. Metode mengembalikan perangkaian string dari semua teks di antara dua instans tertentu TextPointer .

Meskipun contohnya dapat digunakan untuk mengekstrak teks apa pun di antara dua TextPointer instans, contoh ini ditujukan hanya untuk tujuan ilustrasi, dan tidak boleh digunakan dalam kode produksi. Gunakan properti TextRange.Text sebagai gantinya.

// Returns a string containing the text content between two specified TextPointers.
string GetTextBetweenTextPointers(TextPointer start, TextPointer end)
{
    StringBuilder buffer = new StringBuilder();
 
    while (start != null && start.CompareTo(end) < 0)
    {
        if (start.GetPointerContext(LogicalDirection.Forward) == TextPointerContext.Text)
            buffer.Append(start.GetTextInRun(LogicalDirection.Forward));
 
        // Note that when the TextPointer points into a text run, this skips over the entire
        // run, not just the current character in the run.
        start = start.GetNextContextPosition(LogicalDirection.Forward);
    }
    return buffer.ToString();
} // End GetTextBetweenPointers.
' Returns a string containing the text content between two specified TextPointers.
Private Function GetTextBetweenTextPointers(ByVal start As TextPointer, ByVal [end] As TextPointer) As String
    Dim buffer As New StringBuilder()

    Do While start IsNot Nothing AndAlso start.CompareTo([end]) < 0
        If start.GetPointerContext(LogicalDirection.Forward) = TextPointerContext.Text Then
            buffer.Append(start.GetTextInRun(LogicalDirection.Forward))
        End If

        ' Note that when the TextPointer points into a text run, this skips over the entire
        ' run, not just the current character in the run.
        start = start.GetNextContextPosition(LogicalDirection.Forward)
    Loop
    Return buffer.ToString()

End Function ' End GetTextBetweenPointers.

Keterangan

Metode ini hanya mengembalikan eksekusi teks yang tidak terganggu. Tidak ada yang dikembalikan jika ada jenis simbol selain Text yang berbatas dengan saat ini TextPointer dalam arah yang ditentukan. Demikian pula, teks hanya dikembalikan ke simbol non-teks berikutnya.

Lihat juga

Berlaku untuk

GetTextInRun(LogicalDirection, Char[], Int32, Int32)

Menyalin jumlah karakter maksimum yang ditentukan dari teks yang berdampingan dalam arah yang ditentukan ke dalam array karakter yang disediakan pemanggil.

public:
 int GetTextInRun(System::Windows::Documents::LogicalDirection direction, cli::array <char> ^ textBuffer, int startIndex, int count);
public int GetTextInRun (System.Windows.Documents.LogicalDirection direction, char[] textBuffer, int startIndex, int count);
member this.GetTextInRun : System.Windows.Documents.LogicalDirection * char[] * int * int -> int
Public Function GetTextInRun (direction As LogicalDirection, textBuffer As Char(), startIndex As Integer, count As Integer) As Integer

Parameter

direction
LogicalDirection

Salah LogicalDirection satu nilai yang menentukan arah logis untuk menemukan dan menyalin teks apa pun yang berbatasan.

textBuffer
Char[]

Buffer tempat teks disalin.

startIndex
Int32

Indeks textBuffer tempat mulai menulis teks yang disalin.

count
Int32

Jumlah maksimum karakter yang akan disalin.

Mengembalikan

Jumlah karakter yang benar-benar disalin ke dalam textBuffer.

Pengecualian

startIndexkurang dari 0 atau lebih besar dari Length properti .textBuffer

-atau-

count kurang dari 0 atau lebih besar dari ruang yang tersisa di textBuffer (textBuffer.Length minus startIndex).

Keterangan

Metode ini hanya mengembalikan eksekusi teks yang tidak terganggu. Tidak ada yang dikembalikan jika ada jenis simbol selain Text yang berbatas dengan saat ini TextPointer dalam arah yang ditentukan. Demikian pula, teks hanya dikembalikan ke simbol non-teks berikutnya.

Lihat juga

Berlaku untuk