The Hyperlink element is an inline-level content element that is used to add a hyperlink to a FlowDocument contents. You can add hyperlink support to any Inline element.
Hyperlink is defined in System.Windows.Documents namespace. You must import this namespace before you use Hyperlink.
Here is the Italic syntax for Hyperlink.
- <Hyperlink>
- Inlines
- </Hyperlink >
Here is an example of hyperlink that sets NavigateUri to C# Corner website URL.
- <Hyperlink NavigateUri="http://www.c-sharpcorner.com">
- C# Corner
- </Hyperlink>
Listing 1 is a complete example that shows how to use a Hyperlink element in FlowDocument contents.
- <FlowDocument ColumnWidth="400" IsOptimalParagraphEnabled="True" IsHyphenationEnabled="True">
- <Section Name="Heading" FontSize="20" FontFamily="Georgia" Background="LightSalmon">
- <Paragraph> Hyperlink sample </Paragraph>
- </Section>
- <Section FontSize="12">
- <Paragraph>
- <Bold>Mindcracker Network</Bold> including <Bold>
- <Hyperlink NavigateUri="http://www.c-sharpcorner.com"> C# Corner </Hyperlink>
- </Bold> is an online community for Software developers and profressioals. Mindcracker Network allows its members to share their knowlege among one another via its contents publishing including, <Bold>Articles, Blogs, Tutorials, and Videos.</Bold> It also allows members to ask and reply questions on <Bold>Mindcracker Forums.</Bold>
- <Floater Background="GhostWhite" Width="285" HorizontalAlignment="Left">
- <Table CellSpacing="5">
- <Table.Columns>
- <TableColumn Width="155" />
- <TableColumn Width="130" />
- </Table.Columns>
- <TableRowGroup>
- <TableRow>
- <TableCell ColumnSpan="3" Background="LightBlue" FontSize="16">
- <Paragraph>Mindcracker Statistics</Paragraph>
- </TableCell>
- </TableRow>
- <TableRow Background="LightGoldenrodYellow" FontSize="11">
- <TableCell>
- <Paragraph FontWeight="Bold">Monthly Page views:</Paragraph>
- </TableCell>
- <TableCell>
- <Paragraph>3.8 Million</Paragraph>
- </TableCell>
- </TableRow>
- <TableRow FontSize="11" Background="LightGray">
- <TableCell>
- <Paragraph FontWeight="Bold">Monthly Unique Visitors:</Paragraph>
- </TableCell>
- <TableCell>
- <Paragraph>2.3 Million</Paragraph>
- </TableCell>
- </TableRow>
- <TableRow Background="LightGoldenrodYellow" FontSize="11">
- <TableCell>
- <Paragraph FontWeight="Bold">US Visitors:</Paragraph>
- </TableCell>
- <TableCell>
- <Paragraph>43%</Paragraph>
- </TableCell>
- </TableRow>
- <TableRow>
- <TableCell ColumnSpan="4">
- <Paragraph FontSize="10" FontStyle="Italic"> View more details on <Hyperlink NavigateUri="http://www.c-sharpcorner.com/forums/"> Mindcracker Network. </Hyperlink>
- </Paragraph>
- </TableCell>
- </TableRow>
- </TableRowGroup>
- </Table>
- </Floater>
- </Paragraph>
- </Section>
- </FlowDocument>
Listing 1
The output of Listing 1 looks like Figure 1.
Figure 1
Dynamic Hyperlink
The Hyperlink class in WPF is used to add a hyperlink to a FlowDocument. The code snippet in Listing 1 creates a hyperlink dynamically.
- privateFlowDocument CreateAHyperlinkDynamically() {
-
- FlowDocument doc = newFlowDocument();
-
- Paragraph p = newParagraph();
- Run run1 = newRun("Hyperlink Sample ");
- Run run2 = newRun(" Hyperlink added");
- Run run3 = newRun("C# Corner ");
-
- Hyperlink hlink = newHyperlink(run3);
- hlink.NavigateUri = newUri("http://www.c-sharpcorner.com");
-
- p.Inlines.Add(run1);
- p.Inlines.Add(hlink);
- p.Inlines.Add(run2);
-
- doc.Blocks.Add(p);
- return doc;
- }
Listing 1