TextPointer.GetTextInRun Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 textBuffer
karakter sayısı.
Özel durumlar
startIndex
0'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.