TextPointer.GetTextInRun Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.