Udało się znaleźć sposób obejścia tego, prawie przez przypadek.
Treści załadowane do mojego RichTextBox są zapisywane (lub wprowadzane) jako zwykły ciąg znaków. Podklasowałem RichTextBox, aby umożliwić powiązanie z jego właściwością Document.
Co istotne pytanie, jest to, że mam IValueConverter Convert() przeciążenie, który wygląda mniej więcej tak (kod non-essential do roztworu został uproszczoną out):
FlowDocument doc = new FlowDocument();
Paragraph graph = new Paragraph();
Hyperlink textLink = new Hyperlink(new Run(textSplit));
textLink.NavigateUri = new Uri(textSplit);
textLink.RequestNavigate +=
new System.Windows.Navigation.RequestNavigateEventHandler(navHandler);
graph.Inlines.Add(textLink);
graph.Inlines.Add(new Run(nonLinkStrings));
doc.Blocks.Add(graph);
return doc;
To dostaje mi się zachowanie, które chcę (wrzucanie zwykłych ciągów znaków do RichTextBox i uzyskiwanie formatowania), a także powoduje, że odsyłacze zachowują się jak normalne łącze, a nie takie, które są osadzone w dokumencie programu Word.
Już dziękuję Skeetowi? Bardzo trudne! – Anthony
@Anthony, to był podpis (spójrz na pisownię) – JaredPar
Hehehe, jestem w rzeczywistości Johnem, ale jeśli Skeet przejdzie, zdecydowanie mu podziękuję :) –