Hyperlink class

Applies to Windows and Windows Phone

Provides an inline-level content element that provides facilities for hosting hyperlinks.

Inheritance

Object
  DependencyObject
    TextElement
      Inline
        Span
          Hyperlink

Syntax


Public NotInheritable Class Hyperlink
    Inherits Span


<Hyperlink .../>

Attributes

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06030000)]
[WebHostHidden()]

Members

The Hyperlink class has these types of members:

Constructors

The Hyperlink class has these constructors.

ConstructorDescription
Hyperlink Initializes a new instance of the Hyperlink class.

 

Events

The Hyperlink class has these events.

EventDescription
Click Occurs when the Hyperlink is clicked.

 

Methods

The Hyperlink class has these methods. It also inherits methods from the Object class.

MethodDescription
ClearValue Clears the local value of a dependency property. (Inherited from DependencyObject)
FindName Retrieves an object in the object model / runtime object graph by referencing the object's x:Name or Name attribute value. (Inherited from TextElement)
GetAnimationBaseValue Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject)
GetValue Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject)
OnDisconnectVisualChildren Override this method to implement how layout and logic should behave when items are removed from a class-specific content or child property. (Inherited from TextElement)
ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject)
SetValue Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject)

 

Properties

The Hyperlink class has these properties.

PropertyAccess typeDescription

CharacterSpacing

Read/writeGets or sets the uniform spacing between characters, in units of 1/1000 of an em. (Inherited from TextElement)

ContentEnd

Read-onlyGets a TextPointer that represents the end of the content in the element. (Inherited from TextElement)

ContentStart

Read-onlyGets a TextPointer that represents the start of content in the element. (Inherited from TextElement)

Dispatcher

Read-onlyGets the CoreDispatcher that this object is associated with. (Inherited from DependencyObject)

ElementEnd

Read-onlyGets a TextPointer that represents the position just after the end of the element. (Inherited from TextElement)

ElementStart

Read-onlyGets a TextPointer that represents the position just before the start of the element. (Inherited from TextElement)

FontFamily

Read/writeGets or sets the preferred top-level font family for the content of the element. (Inherited from TextElement)

FontSize

Read/writeGets or sets the font size for the content of the element. (Inherited from TextElement)

FontStretch

Read/writeGets or sets the glyph width of the font in a family to select. (Inherited from TextElement)

FontStyle

Read/writeGets or sets the font style for the content in this element. (Inherited from TextElement)

FontWeight

Read/writeGets or sets the top-level font weight to select from the font family for the content in this element. (Inherited from TextElement)

Foreground

Read/writeGets or sets the Brush to apply to the content in this element. (Inherited from TextElement)

Inlines

Read/writeGets an InlineCollection containing the top-level inline elements that include the contents of Span. (Inherited from Span)

IsTextScaleFactorEnabled

Read/writeGets or sets whether automatic text enlargement, to reflect the system text size setting, is enabled. (Inherited from TextElement)

Language

Read/writeGets or sets localization/globalization language information that applies to a TextElement. (Inherited from TextElement)

Name

Read-onlyGets or sets a unique identification for the object. Name can only be set from initial parsing of XAML. (Inherited from TextElement)

NavigateUri

Read/writeGets or sets the Uniform Resource Identifier (URI) to navigate to when the Hyperlink is activated.

NavigateUriProperty

Read-onlyIdentifies the NavigateUri dependency property.

 

Remarks

A Hyperlink element is an Inline derived class. This means it can be placed into an InlineCollection and it's a text element, not a control. It's intended to be part of the text content of a RichTextBlock, but within other text containers. For example a Hyperlink object element in XAML can be one of the elements within the content of a Paragraph. (When the XAML is loaded, the Hyperlink is added to the implicit Inlines/InlineCollection XAML content property of the Paragraph.)

In addition to being part of a Paragraph, a Hyperlink can also be within a Span container, within a TextBlock. For this scenario you may need to apply xml:space="preserve" to other text elements if the Hyperlink is inline between other text elements such as Run.

The property/attribute you set to specify the navigation target of a Hyperlink is NavigateUri. When a user taps a Hyperlink element clicked the value of NavigateUri is passed to a system handler for URI types and schemes. The system then launches the app that is registered for the schema of the URI provided for NavigateUri.

If you don't want the Hyperlink to load content in a default Web browser (and don't want a browser to appear), then don't set a value for NavigateUri. Instead, handle the Click event, and write code that does what you want. For example, you might want an external, absolute URI to load within a WebView control that also exists in your app. For this scenario, you'd call WebView.Navigate as part of your Click handler logic.

Because a Hyperlink is not a UIElement it does not have the set of UI element input events such as Tapped, PointerPressed and so on. Instead, a Hyperlink has its own Click event, plus the implicit behavior of the system loading any URI specified as the NavigateUri. The system handles all input actions that should invoke the Hyperlink actions and fires Click in response.

Hyperlink has restrictions on the content that can exist in its Inlines collection. Specifically, a Hyperlink only permits Run and other Span types that aren't another Hyperlink. InlineUIContainer can't be in the Inlines collection of a Hyperlink. Attempting to add restricted content throws an invalid argument exception or XAML parse exception.

Hyperlink and theme/style behavior

A Hyperlink has a class inheritance that doesn't include FrameworkElement, so it doesn't have a Style property. Nor does a Hyperlink have a Template (it's not a true control). You can edit the properties that are inherited from TextElement such as Foreground or FontFamily to change the appearance of a Hyperlink, but you can't use a common style or template to apply changes. You might consider using common resources for values of Hyperlink properties to provide some consistency to your Hyperlink property values, if you use property values other than the defaults. Some properties of Hyperlink such as Foreground use defaults from a ThemeResource value provided by the system. This enables the Hyperlink appearance to switch in appropriate ways when the user changes the system theme at run-time.

Hyperlink and HyperlinkButton

A Hyperlink and a HyperlinkButton have the similar purpose of enabling a user to launch a specific URI using a separate browser app. The difference between them is that a Hyperlink is a text element that can be placed in formatted text (for example in RichTextBlock) and a HyperlinkButton is a control that can be placed within any layout container that accepts UI elements or controls. A HyperlinkButton might be used within the composition/template of a custom control that enables a web browsing experience.

Requirements

Minimum supported client

Windows 8.1 [Windows Store apps only]

Minimum supported server

Windows Server 2012 R2 [Windows Store apps only]

Minimum supported phone

Windows Phone 8.1 [Windows Runtime apps only]

Namespace

Windows.UI.Xaml.Documents
Windows::UI::Xaml::Documents [C++]

Metadata

Windows.winmd

See also

Span
HyperlinkButton
RichTextBlock
TextBlock

 

 

Show:
© 2014 Microsoft