TextPointer.GetTextInRun Metódus

Definíció

Az aktuális TextPointermelletti szöveget adja vissza.

Túlterhelések

Name Description
GetTextInRun(LogicalDirection)

Visszaad egy sztringet, amely az aktuális TextPointer szöveggel szomszédos szöveget a megadott logikai irányban tartalmazza.

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

A megadott számú karaktert a megadott irányban lévő szomszédos szövegből másolja át egy hívó által megadott karaktertömbbe.

GetTextInRun(LogicalDirection)

Visszaad egy sztringet, amely az aktuális TextPointer szöveggel szomszédos szöveget a megadott logikai irányban tartalmazza.

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

Paraméterek

direction
LogicalDirection

Az egyik LogicalDirection érték, amely meghatározza a szomszédos szöveg megkeresésének és visszaadásának logikai irányát.

Válaszok

Olyan sztring, amely a megadott logikai irányban lévő szomszédos szöveget tartalmazza, vagy Empty ha nem található szomszédos szöveg.

Példák

Az alábbi példa a metódus használatát mutatja be. A példa egy egyszerű szövegelszívó implementálására használja a GetTextInRun metódust. A metódus az összes szöveg sztringösszefűzését adja vissza két megadott TextPointer példány között.

Bár a példa bármilyen szöveg kinyerésére használható két TextPointer példány között, csak szemléltető célokra szolgál, és nem használható éles kódban. Használja inkább a TextRange.Text tulajdonságot.

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

Megjegyzések

Ez a metódus csak megszakítás nélküli szövegfuttatásokat ad vissza. A függvény nem ad vissza semmit, ha a megadott irányban az aktuálistól Text eltérő TextPointer szimbólumtípus van. Hasonlóképpen, a rendszer csak a következő nem szöveges szimbólumig adja vissza a szöveget.

Lásd még

A következőre érvényes:

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

A megadott számú karaktert a megadott irányban lévő szomszédos szövegből másolja át egy hívó által megadott karaktertömbbe.

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

Paraméterek

direction
LogicalDirection

Az egyik LogicalDirection érték, amely meghatározza a szomszédos szöveg megkeresésének és másolásának logikai irányát.

textBuffer
Char[]

Egy puffer, amelybe bármilyen szöveg másolódik.

startIndex
Int32

Egy index, amelybe textBuffer másolt szöveget szeretne írni.

count
Int32

A másolandó karakterek maximális száma.

Válaszok

A ténylegesen bemásolt textBufferkarakterek száma.

Kivételek

startIndex kisebb, mint 0 vagy nagyobb, mint a LengthtextBuffer.

-vagy-

countkisebb, mint 0 vagy nagyobb, mint a (. mínusz) fennmaradó szóköztextBuffertextBuffer.LengthstartIndex

Megjegyzések

Ez a metódus csak megszakítás nélküli szövegfuttatásokat ad vissza. A függvény nem ad vissza semmit, ha a megadott irányban az aktuálistól Text eltérő TextPointer szimbólumtípus van. Hasonlóképpen, a rendszer csak a következő nem szöveges szimbólumig adja vissza a szöveget.

Lásd még

A következőre érvényes: