Bagikan melalui


TextPointer.GetTextInRun Metode

Definisi

Mengembalikan teks yang berdekatan dengan .TextPointer

Overload

Nama Deskripsi
GetTextInRun(LogicalDirection)

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

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

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

GetTextInRun(LogicalDirection)

Mengembalikan string yang berisi teks apa pun yang berdekatan 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 berdekatan.

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 ini mengembalikan perangkaian string dari semua teks di antara dua instans tertentu TextPointer .

Meskipun contoh 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 berdekatan dengan saat ini TextPointer dalam arah yang ditentukan. Demikian pula, teks hanya dikembalikan hingga simbol non-teks berikutnya.

Lihat juga

Berlaku untuk

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

Menyalin jumlah karakter maksimum yang ditentukan dari teks yang berdekatan ke 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 yang berdekatan.

textBuffer
Char[]

Buffer tempat teks disalin.

startIndex
Int32

Indeks tempat textBuffer 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 berdekatan dengan saat ini TextPointer dalam arah yang ditentukan. Demikian pula, teks hanya dikembalikan hingga simbol non-teks berikutnya.

Lihat juga

Berlaku untuk