(Поскольку этот вопрос не получали никаких ответов, я заново сформулировать его)Удалить скрытые символы в WPF богатого текстового поле
В моем приложении, у меня есть диалог, который содержит Rich Text Box, то коробка заполнена Твиттером, собранным из Twitter. Используя твиты, я отформатирую твит, чтобы иметь встроенные гиперссылки на ссылки в твитах, упоминаниях и хэштегах. Однако гиперссылки никогда не располагаются правильно; всегда 2 или 3 символа слишком рано и слишком далеко.
Это код, я использую, чтобы установить текст в формате Rich Text Box:
TweetText.Document.ContentEnd.InsertTextInRun(Status.Text)
Dim FlowDocument As FlowDocument = TweetText.Document
If LinkEntity.Count > 0 Then
For Each Entity As Entities.TwitterUrlEntity In LinkEntity
Dim Start As TextPointer = FlowDocument.ContentStart
Dim StartPosition As TextPointer
Dim EndPosition As TextPointer
If Entity.StartIndex = 0 Then
StartPosition = Start.GetPositionAtOffset(Entity.StartIndex)
Else
StartPosition = Start.GetPositionAtOffset(Entity.StartIndex)
End If
EndPosition = Start.GetPositionAtOffset(Entity.StartIndex + Entity.DisplayUrl.Length, LogicalDirection.Backward)
Dim h As New Hyperlink(StartPosition, EndPosition)
AddHandler h.MouseLeftButtonDown, AddressOf Hyperclick_Link
h.NavigateUri = New Uri(Entity.Url)
h.Cursor = Cursors.Hand
Next
End If
'I have the other entities here, they have very similar code'
TweetText.Document = FlowDocument
Это мой Rich Text Box XAML:
<RichTextBox Name="TweetText" Margin="5" FontSize="14" BorderThickness="0" IsReadOnly="True" />
Это выход:
Объект tweet имеет соответствующие индексы для каждой сущности, но я считаю, что Ri ch Текстовое поле содержит скрытые символы, вызывающие это смещение.
Хорошо, я попробую это. Я сейчас вдалеке от компьютера с Windows, но когда я вернусь к одному, я испытаю вашу теорию. Благодаря! –