TextPointer.GetTextInRun Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
startIndex
kurang 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.