olarak nasıl seçilir Seçeceğiniz belirli bir metnin bir dizinini ve uzunluğunu (veya EndIndex) seçtiyseniz, bunu RichTextBox'ın WPF sürümünde nasıl gerçekleştirirsiniz?RichTextBox metni bir dizin ve uzunluk
Bu, Textbox'taki gibi çok kullanışlıdır. (StartIndex, Length) ancak RTB'de eşdeğer bir şey göremiyorum.
Düzenleme:
rtb.Selection.ApplyPropertyValue(TextElement.BackgroundProperty, new SolidColorBrush(Colors.LightBlue));
vurgulama özelliği yalnızca çalışır: Ben seçim yapıldıktan sonra satırı vurgulamak çalıştığınızda, bir seçimi
internal string Select(RichTextBox rtb, int index, int length)
{
TextRange textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
if (textRange.Text.Length >= (index + length))
{
TextPointer start = textRange.Start.GetPositionAtOffset(index, LogicalDirection.Forward);
TextPointer end = textRange.Start.GetPositionAtOffset(index + length, LogicalDirection.Backward);
rtb.Selection.Select(start, end);
}
return rtb.Selection.Text;
}
Ancak
yapma cevabını bulduk ilk denemede ve ikinci denemeden sonra molalar. Bunun sebebini bilen var mı?
seç yöntem iki metin işaretçiler alır ve sadece var Her iki tam sayı olan bir dizin ve uzunluk. Bu durumda textpointer değişkenlerimi doğru şekilde nasıl kurarım? – l46kok