WPF, Silverlight, Windows Phone 8 und Windows-Store-Apps

WPF: Hyperlink im Browser öffnen
Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „WPF: Hyperlink im Browser öffnen“.

Im digitalen Zeitalter wird immer mehr Content von der eigenen Software online gestellt. Darunter zählen die Produkt-, Hilfe- oder auch Kontaktseiten. Diese sollen direkt von der WPF-Anwendung im Standardbrowser geöffnet werden können.

URL im Standardbrowser öffnen

In WPF gibt es das Hyperlink-Steuerelement, das lediglich innerhalb vom TextBlock-Steuerelement funktioniert. Die URL-Adresse wird dem NavigateUri-AttributeProperty festgelegt. Bei einem anschließenden Test der Funktionalität wird man eine Überraschung erleben. Denn es passiert gar nichts. Das liegt daran, dass der Hyperlink ursprünglich nur zur internen Navigation von WPF-Seiten konzeptioniert wurde.
Zum Öffnen des URLs im Standardbrowser muss etwas C#-Code folgen. Dazu wird das RequestNavigate-Event abonniert. Der Browser wird automatisch mit der Process.Start-Methode geöffnet. Um das Event anschließend sauber abzuschließen, wird dem Handled-Property der Wert true zugewiesen. Der XAML-Code dazu steht in Listing 1, der dazugehörige C#-Code in Listing 2.

Listing 1: Das Hyperlink-Steuerelement

<TextBlock>
  <Hyperlink NavigateUri="https://www.youtube.com/user/BastaConference" RequestNavigate="OnRequestNavigate">BASTA! Videos</Hyperlink>
</TextBlock>

Listing 2: Den Standardbrowser aus WPF öffnen

private void OnRequestNavigate(object sender, RequestNavigateEventArgs e)
{
  System.Diagnostics.Process.Start(e.Uri.AbsoluteUri);
    e.Handled = true;
}
Abb. 1: Hyperlink im Browser öffnen

Abb. 1: Hyperlink im Browser öffnen

Weitere Teile der XAML-Kolumne finden Sie hier.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -