RichTextBox内の通常のリンクをハイパーリンクに置き換えたいのですが、すべての情報は外部ライブラリ(LinkEntity)を介して提供されます。しかし、実際にテキストを置き換える方法がわかりません。
私はこれを持っていますが、正しく機能しない場合があり、null例外にならない値をスローする場合もあれば、リンクの間違った部分を置き換えるだけの場合もあります。
Dim Start As TextPointer = TweetText.Document.ContentStart
Dim StartPos As TextPointer = Start.GetPositionAtOffset(LinkEntity.StartIndex)
Dim EndPos As TextPointer = Start.GetPositionAtOffset(LinkEntity.EndIndex)
Dim h As New Hyperlink(StartPos, EndPos)
AddHandler h.MouseLeftButtonDown, AddressOf Hyperclick_Link
h.NavigateUri = New Uri(LinkEntity.Url)
h.Cursor = Cursors.Hand
StartとEndのインデックスに有効な値がある場合でも、StartPosとEndPosは何もないため、例外がスローされます。