name: "wpf-hyperlink-navigation" description: "Open browser URLs from WPF views using Hyperlink and RequestNavigate" domain: "wpf-ui" confidence: "medium" source: "earned"
Context
Use this when a WPF screen needs clickable URLs that open in the user's default browser.
Patterns
- Prefer
<Hyperlink NavigateUri="...">inside aTextBlockover mouse click handlers for links. - Handle
RequestNavigatein code-behind and call a centralizedOpenUrl(string)helper. - Keep
TextDecorations="Underline"and a link color for discoverability.
Examples
<TextBlock>
<Hyperlink NavigateUri="{Binding HostUrl}"
RequestNavigate="Url_RequestNavigate">
<Run Text="{Binding HostUrl}"/>
</Hyperlink>
</TextBlock>
private void Url_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
OpenUrl(e.Uri.AbsoluteUri);
e.Handled = true;
}
Anti-Patterns
- Using
MouseLeftButtonDownfor links whenHyperlinkworks. - Duplicating
Process.Startlogic in multiple views. - Binding non-Visibility properties through visibility-only converters.