Aracılığıyla paylaş


TextPointer.GetTextInRun Yöntem

Tanım

Geçerli TextPointerbitişik metin döndürür.

Aşırı Yüklemeler

GetTextInRun(LogicalDirection)

Belirtilen mantıksal yönde geçerli TextPointer bitişik metin 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önde geçerli TextPointer bitişik metin 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

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

Döndürülenler

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

Örnekler

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

Örnek, iki TextPointer örneği arasındaki herhangi bir metni ayıklamak için kullanılabilir, ancak yalnızca açıklayıcı amaçlara yöneliktir ve üretim kodunda kullanılmamalıdır. Bunun yerine TextRange.Text ö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. Text dışında bir simge türü belirtilen yönde geçerli TextPointer bitişikse hiçbir şey döndürülemez. Benzer şekilde, metin yalnızca bir 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

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

textBuffer
Char[]

Herhangi bir metnin kopyalandığı arabellek.

startIndex
Int32

Kopyalanan metni yazmaya başlamak için textBuffer dizini.

count
Int32

Kopyalanacak en fazla karakter sayısı.

Döndürülenler

textBufferiçine kopyalanan karakter sayısı.

Özel durumlar

startIndex, textBufferLength özelliğinden 0'dan küçük veya daha büyüktür.

-veya-

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

Açıklamalar

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

Ayrıca bkz.

Şunlara uygulanır