'Hyperlink in WPF Richtextbox
I load WPF Richtextbox contents from Xaml string in which there are some Hyperlinks. When it is loaded into control, Hyperlinks are not clickable! I want to click on them and their associated URL shows up.
Solution 1:[1]
No freschx, it's about WPF. A WPF RichTextBox
, unlike the one in WinForms, does not have a DetectUrls
property. And it's weird you wrote a Xaml code for that, even weirder there is someone who thought it useful.
Check this post out where JHubbard80 and me had two different approaches to solve this problem.
Solution 2:[2]
To make the Hyperlink
, or any inline UIElement
in general, available for hit testing, we must set RichTextBox.IsDocumentEnabled
to true
.
To make the Hyperlink
clickable without pressing the Ctrl key, the Hyperlink
must be made read-only e.g., by wrapping it into a TextBlock
or by making the complete RichTextBox
read-only (by setting RichTextBox.IsReadOnly
to false
).
<RichTextBox IsDocumentEnabled="True">
<FlowDocument>
<Paragraph>
<Run Text="Some editable text" />
<TextBlock>
<Hyperlink NavigateUri="https://duckduckgo.com">
DuckDuckGo
</Hyperlink>
</TextBlock>
</Paragraph>
</FlowDocument>
</RichTextBox>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Community |
Solution 2 |