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 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
textBuffer
içine kopyalanan karakter sayısı.
Özel durumlar
startIndex
, textBuffer
Length ö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.