Der folgende Code in einer WPF-Anwendung erstellt einen Hyperlink, und wirkt wie ein Hyperlink aussieht, aber nicht alles tun, wenn darauf geklickt.Wie kann ich einen FlowDocument Hyperlink zum Starten des Browsers und zum Aufrufen der URL in einer WPF-App erhalten?
Was muss ich ändern, damit, wenn ich es anklicke, es den Standardbrowser öffnet und zu der spezifizierten URL geht?
alt text http://www.deviantsart.com/upload/4fbnq2.png
XAML:
<Window x:Class="TestLink238492.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel Margin="10">
<ContentControl x:Name="MainArea"/>
</StackPanel>
</Window>
-Code Behind:
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
namespace TestLink238492
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
FlowDocumentScrollViewer fdsv = new FlowDocumentScrollViewer();
FlowDocument doc = new FlowDocument();
fdsv.Document = doc;
fdsv.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
doc.PagePadding = new Thickness(0);
Paragraph paragraph = new Paragraph();
doc.Blocks.Add(paragraph);
Run run = new Run("this is flow document text and ");
paragraph.Inlines.Add(run);
Run run2 = new Run("this is a hyperlink");
Hyperlink hlink = new Hyperlink(run2);
hlink.NavigateUri = new Uri("http://www.google.com");
paragraph.Inlines.Add(hlink);
StackPanel sp = new StackPanel();
TextBlock tb = new TextBlock();
tb.Text = "this is textblock text";
sp.Children.Add(tb);
sp.Children.Add(fdsv);
MainArea.Content = sp;
}
}
}
Siehe auch die spätere http://stackoverflow.com/questions/10238694/example-using-hyperlink-in-wpf - diese beiden Fragen sollten vielleicht zusammengeführt werden, aber ich bin mir nicht sicher, ob sie echte Duplikate sind. –