Share via


TextPointer.GetTextInRun Yöntem

Tanım

Geçerli TextPointeröğesine bitişik metin döndürür.

Aşırı Yüklemeler

GetTextInRun(LogicalDirection)

Belirtilen mantıksal yöndeki geçerlinin TextPointer bitişiğindeki herhangi bir metni içeren bir dize döndürür.

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

Belirtilen yöndeki herhangi bir bitişik metinden belirtilen en fazla karakter sayısını çağıran tarafından sağlanan karakter dizisine kopyalar.

GetTextInRun(LogicalDirection)

Belirtilen mantıksal yöndeki geçerlinin TextPointer bitişiğindeki herhangi bir metni içeren bir dize döndürür.

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

Parametreler

direction
LogicalDirection

LogicalDirection Bitişik metinlerin bulunup döndürüleceği mantıksal yönü belirten değerlerden biri.

Döndürülenler

Belirtilen mantıksal yönde bitişik metin içeren veya Empty bitişik metin bulunamazsa bir dize.

Örnekler

Aşağıdaki örnekte bu yöntem için bir kullanım gösterilmektedir. Örnek, basit bir metin ayıklayıcısı uygulamak için yöntemini kullanır GetTextInRun . yöntemi, belirtilen TextPointer iki örnek arasındaki tüm metnin dize birleştirmesini döndürür.

Örnek, iki TextPointer örnek arasındaki herhangi bir metni ayıklamak için kullanılabilir, ancak yalnızca açıklayıcı amaçlar için tasarlanmıştır ve üretim kodunda kullanılmamalıdır. TextRange.Text Bunun yerine özelliğini kullanın.

// 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.

Açıklamalar

Bu yöntem yalnızca kesintisiz metin çalıştırmaları döndürür. Belirtilen yöndeki geçerliye TextPointer bitişik dışında Text bir simge türü varsa hiçbir şey döndürülemez. Benzer şekilde, metin yalnızca sonraki metin olmayan simgeye kadar döndürülür.

Ayrıca bkz.

Şunlara uygulanır

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

Belirtilen yöndeki herhangi bir bitişik metinden belirtilen en fazla karakter sayısını çağıran tarafından sağlanan karakter dizisine kopyalar.

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

Parametreler

direction
LogicalDirection

LogicalDirection Bitişik metnin bulunup kopyalandığı mantıksal yönü belirten değerlerden biri.

textBuffer
Char[]

Herhangi bir metnin kopyalandığı arabellek.

startIndex
Int32

Kopyalanan metni yazmaya başlayabileceğiniz dizin textBuffer .

count
Int32

Kopyalanacak en fazla karakter sayısı.

Döndürülenler

içine kopyalanan textBufferkarakter sayısı.

Özel durumlar

startIndex0'dan küçük veya özelliğinden Length büyük.textBuffer

-veya-

count içinde kalan alandan textBuffer (textBuffer.Length eksi startIndex) 0'dan küçük veya daha büyük.

Açıklamalar

Bu yöntem yalnızca kesintisiz metin çalıştırmaları döndürür. Belirtilen yöndeki geçerliye TextPointer bitişik dışında Text bir simge türü varsa hiçbir şey döndürülemez. Benzer şekilde, metin yalnızca sonraki metin olmayan simgeye kadar döndürülür.

Ayrıca bkz.

Şunlara uygulanır