Partager via


Hyperlink Classe

Définition

Fournit un élément de contenu de niveau inline qui fournit des fonctionnalités d’hébergement de liens hypertexte.

public ref class Hyperlink sealed : Span
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Hyperlink final : Span
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Hyperlink : Span
Public NotInheritable Class Hyperlink
Inherits Span
<Hyperlink .../>
Héritage
Object Platform::Object IInspectable DependencyObject TextElement Inline Span Hyperlink
Attributs

Exemples

Voici un exemple d’élément Hyperlink simple dans un TextBlock.

En XAML, la création d’éléments de contenu étant implicite, vous pouvez ajouter le texte du lien directement au lien hypertexte et le lien hypertexte directement à l’élément TextBlock .

Dans le code, vous devez créer explicitement chaque élément Run , définir sa propriété Text et l’ajouter à la collection Inlines appropriée (Hyperlink ou TextBlock).

<TextBlock><Hyperlink NavigateUri="http://www.bing.com">Go to Bing</Hyperlink></TextBlock>
// Create a TextBlock. The hyperlink is the TextBlock content. 
TextBlock tb = new TextBlock();

// Create a Hyperlink and a Run. 
// The Run provides the visible content of the hyperlink. 
Hyperlink hyperlink = new Hyperlink();
Run run = new Run();

// Set the Text property on the Run. This will be the visible text of the hyperlink.
run.Text = "Go to Bing";
// Set the URI for the Hyperlink. 
hyperlink.NavigateUri = new Uri("http://www.bing.com");

// Add the Run to Hyperlink.Inlines collection.
hyperlink.Inlines.Add(run);
// Add the text elements to the TextBlock.Inlines collection.
tb.Inlines.Add(hyperlink);
// Add the TextBlock to a StackPanel (defined in the XAML page).        
stackPanel.Children.Add(tb);

Cet exemple montre un élément Hyperlink dans un TextBlock avec un autre texte.

En XAML, la création d’éléments de contenu étant implicite, vous pouvez ajouter le texte du lien directement au lien hypertexte. L’élément Span avec l’attribut xml:space="preserve" est utilisé pour conserver l’espace blanc autour du lien hypertexte.

Dans le code, vous devez créer explicitement chaque élément Run , définir sa propriété Text et l’ajouter à la collection Inlines appropriée (Hyperlink ou TextBlock).

<TextBlock>
    <Span xml:space="preserve"><Run>Open </Run><Hyperlink NavigateUri="http://www.bing.com">Bing</Hyperlink><Run> in your browser.</Run></Span>
</TextBlock>
// Create a TextBlock. The hyperlink is part of the TextBlock content. 
// Set TextWrapping so that the text and the hyperlink wrap if the content is too wide.
TextBlock tb = new TextBlock();
tb.TextWrapping = TextWrapping.Wrap;

// Create a Hyperlink and a Run. 
// The Run provides the visible content of the hyperlink. 
Hyperlink hyperlink = new Hyperlink();
Run run = new Run();
// Set the Text property on the Run. This will be the visible text of the hyperlink.
run.Text = "Bing";
// Set the URI for the Hyperlink. 
hyperlink.NavigateUri = new Uri("http://www.bing.com");
//Add the Run to Hyperlink.Inlines collection.
hyperlink.Inlines.Add(run);

// Create Run elements for the text around the hyperlink.
Run run1 = new Run();
Run run2 = new Run();            
//Set the Text property on the Run elements.
run1.Text = "Open ";
run2.Text = " in your browser.";

// Add the text elements to the TextBlock.Inlines collection.
tb.Inlines.Add(run1);
tb.Inlines.Add(hyperlink);
tb.Inlines.Add(run2);

// Add the TextBlock to a StackPanel (defined in the XAML page).        
stackPanel.Children.Add(tb);

Voici un exemple d’élément Hyperlink simple dans un TextBlock.

En XAML, la création d’éléments de contenu étant implicite, vous pouvez ajouter le texte du lien directement au lien hypertexte et le lien hypertexte directement à l’élément TextBlock . L’élément Span avec l’attribut xml:space="preserve" est utilisé pour conserver l’espace blanc autour du lien hypertexte.

Dans le code, vous devez créer explicitement chaque élément de texte (par exemple , Run, Paragraph ou Italic) et l’ajouter à la collection Inlines appropriée.

<RichTextBlock>
    <Paragraph>
        <Span xml:space="preserve">
            <Run>This shows a hyperlink in a paragraph of text. You can click it to open </Run><Hyperlink NavigateUri="http://www.bing.com" UnderlineStyle="None" FontWeight="SemiBold"><Italic>Bing</Italic></Hyperlink><Run> in your browser.</Run>
        </Span>
    </Paragraph>
</RichTextBlock>
// Create a RichTextBlock. The hyperlink is part of the content. 
// Set TextWrapping so that the text and the hyperlink wrap if the content is too wide.
RichTextBlock rtb = new RichTextBlock();
rtb.TextWrapping = TextWrapping.Wrap;

// Create a Hyperlink and a Run. 
// The Run provides the visible content of the hyperlink. 
Hyperlink hyperlink = new Hyperlink();
Run run = new Run();
// Set the Text property on the Run. This will be the visible text of the hyperlink.
run.Text = "Bing";
// Set the URI  and other properties for the Hyperlink. 
hyperlink.NavigateUri = new Uri("http://www.bing.com");
hyperlink.UnderlineStyle = UnderlineStyle.None;
hyperlink.FontWeight = Windows.UI.Text.FontWeights.SemiBold;
//Add the Run to Hyperlink.Inlines collection.
hyperlink.Inlines.Add(run);


// Create an Italic element for the hyperlink.            
Italic italic = new Italic();
italic.Inlines.Add(hyperlink);

// Create Run elements for the text around the hyperlinks.
// Set the Text property on the Run elements.
Run run1 = new Run();
Run run2 = new Run();
run1.Text = "This shows a hyperlink in a paragraph of text. You can click it to open ";
run2.Text = " in your browser.";

// Create a Paragraph to hold the RichTextBlock content.
Paragraph paragraph = new Paragraph();

// Add the text elements to the Paragraph.Inlines collection.
paragraph.Inlines.Add(run1);
paragraph.Inlines.Add(italic);
paragraph.Inlines.Add(run2);
//Add the paragraph to the RichTextBlock.
rtb.Blocks.Add(paragraph);
// Add the RichTextBlock to a StackPanel (defined in the XAML page).        
stackPanel.Children.Add(rtb);

Remarques

Vous pouvez ajouter un lien hypertexte à une application XAML de deux façons. Hyperlink et HyperlinkButton ont l’objectif similaire de permettre à un utilisateur de lancer un URI spécifique à l’aide d’une application de navigateur distincte.+ Utilisez un élément de texte Hyperlink inline à l’intérieur d’un contrôle de texte. Un élément Hyperlink circule avec d’autres éléments de texte et vous pouvez l’utiliser dans n’importe quel InlineCollection.

Vous utilisez l’élément Hyperlink pour ajouter du texte interactif au contenu d’un Objet TextBlock ou RichTextBlock. Hyperlink est dérivé de la classe Inline . Vous pouvez donc la placer à l’intérieur de n’importe quel conteneur dont la propriété InlineCollection est InlineCollection , telle que TextBlock, Paragraph ou Span.

Conseil

Lorsque vous utilisez un lien hypertexte dans un conteneur Span avec d’autres éléments de texte en XAML, appliquez l’attribut xml:space="preserve"à span pour conserver l’espace entre le lien hypertexte et les autres éléments.

Pour utiliser le lien hypertexte pour accéder à un URI (Uniform Resource Identifier), définissez la propriété NavigateUri . Lorsqu’un utilisateur clique ou appuie sur l’élément Hyperlink, l’URI (Uniform Resource Identifier) spécifié s’ouvre dans le navigateur par défaut. Le navigateur par défaut s’exécute dans un processus distinct de votre application.

Conseil

Vous n’êtes pas tenu d’utiliser les schémas http: ou https:. Vous pouvez utiliser des schémas tels que ms-appx:, ms-appdata: ou ms-ressources: si le contenu des ressources à ces emplacements peut être chargé dans un navigateur. Toutefois, le schéma file: est bloqué. Pour plus d’informations, voir Schémas d’URI.

Lorsqu’un utilisateur clique sur le lien hypertexte, la valeur de la propriété NavigateUri est passée à un gestionnaire système pour les types et schémas URI (Uniform Resource Identifier). Le système lance ensuite l’application inscrite pour le schéma de l’URI (Uniform Resource Identifier) fourni pour NavigateUri.

Si vous ne souhaitez pas que le lien hypertexte charge du contenu dans un navigateur web par défaut (et que vous ne souhaitez pas qu’un navigateur apparaisse), ne définissez pas de valeur pour NavigateUri. Au lieu de cela, gérez l’événement Click et écrivez du code qui fait ce que vous voulez.

Gérer l’événement Click

Utilisez l’événement Click pour les actions autres que le lancement d’un URI (Uniform Resource Identifier) dans un navigateur, comme la navigation au sein de l’application. Par exemple, si vous souhaitez charger une nouvelle page d’application au lieu d’ouvrir un navigateur, appelez une méthode Frame.Navigate dans votre gestionnaire d’événements Click pour accéder à la nouvelle page d’application. Si vous souhaitez qu’un URI (Uniform Resource Identifier) externe et absolu soit chargé dans un contrôle WebView2 qui existe également dans votre application, appelez WebView2.NavigateToString(System.String) dans le cadre de votre logique de gestionnaire Click .

En règle générale, vous ne gérez pas l’événement Click et vous spécifiez une valeur NavigateUri , car elles représentent deux façons différentes d’utiliser l’élément Hyperlink. Si votre intention est d’ouvrir l’URI dans le navigateur par défaut et que vous avez spécifié une valeur pour NavigateUri, ne gérez pas l’événement Click . À l’inverse, si vous gérez l’événement Click , ne spécifiez pas de NavigateUri.

Vous ne pouvez rien faire dans le gestionnaire d’événements Click pour empêcher le navigateur par défaut de charger une cible valide spécifiée pour NavigateUri ; cette action se produit automatiquement (de façon asynchrone) lorsque le lien hypertexte est activé et ne peut pas être annulé à partir du gestionnaire d’événements Click .

Étant donné qu’un lien hypertexte n’est pas un élément UIElement, il n’a pas le jeu d’événements d’entrée d’élément d’interface utilisateur tels que Tapped, PointerPressed , etc. Au lieu de cela, un lien hypertexte a son propre événement Click , plus le comportement implicite du système qui charge n’importe quel URI (Uniform Resource Identifier) spécifié en tant que NavigateUri. Le système gère toutes les actions d’entrée qui doivent appeler les actions Hyperlink et déclenche l’événement Click en réponse.

L’élément Hyperlink a des restrictions sur le contenu qui peut exister dans sa collection Inlines. Plus précisément, un élément Hyperlink autorise uniquement les types Run et d’autres types Span qui ne sont pas un autre élément Hyperlink. InlineUIContainer ne peut pas se trouver dans la collection Inlines d’un lien hypertexte. Toute tentative d’ajout de contenu restreint lève une exception d’argument invalide ou une exception d’analyse XAML.

L’élément Hyperlink n’hérite pas de Control, il n’a donc pas de propriété Style ni de Template. Vous pouvez modifier les propriétés héritées de TextElement, telles que Foreground ou FontFamily, pour modifier l’apparence d’un lien hypertexte, mais vous ne pouvez pas utiliser un style ou un modèle commun pour appliquer des modifications. Au lieu d’utiliser un modèle, pensez à utiliser des ressources communes pour les valeurs des propriétés de l’élément Hyperlink afin de garantir la cohérence. Certaines propriétés de Hyperlink utilisent les valeurs par défaut d’une valeur d’extension de balisage {ThemeResource} fournie par le système. Cela permet à l’apparence de l’élément Hyperlink de s’adapter aux modifications du thème du système apportées par l’utilisateur au moment de l’exécution.

La couleur par défaut du lien hypertexte est la couleur d’accentuation du système. Vous pouvez définir la propriété Foreground pour remplacer celle-ci.

Par défaut, Hyperlink est souligné. Ce trait de soulignement est important, car il permet de répondre aux exigences d’accessibilité. Les utilisateurs daltoniens utilisent le trait de soulignement pour distinguer les liens hypertexte du reste du texte. Vous pouvez définir la propriété UnderlineStyle pour désactiver le trait de soulignement. Si vous désactivez les soulignements, vous devez envisager d’ajouter un autre type de différence de mise en forme pour distinguer les liens hypertexte des autres textes, tels que FontWeight ou FontStyle.

Constructeurs

Hyperlink()

Initialise une nouvelle instance de la classe Hyperlink.

Propriétés

AccessKey

Obtient ou définit la clé d’accès pour cet élément.

(Hérité de TextElement)
AccessKeyScopeOwner

Obtient ou définit un élément source qui fournit l’étendue de la clé d’accès pour cet élément, même s’il ne se trouve pas dans l’arborescence visuelle de l’élément source.

(Hérité de TextElement)
AllowFocusOnInteraction

Obtient ou définit une valeur qui indique si l’élément obtient automatiquement le focus lorsque l’utilisateur interagit avec lui.

(Hérité de TextElement)
CharacterSpacing

Obtient ou définit l’espacement uniforme entre les caractères, en unités de 1/1000 d’un em.

(Hérité de TextElement)
ContentEnd

Obtient un TextPointer qui représente la fin du contenu dans l’élément .

(Hérité de TextElement)
ContentStart

Obtient un TextPointer qui représente le début du contenu dans l’élément .

(Hérité de TextElement)
Dispatcher

Retourne null toujours dans une application SDK d'application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue auquel cet objet est associé. représente DispatcherQueue une fonctionnalité qui peut accéder au DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
ElementEnd

Obtient un TextPointer qui représente la position juste après la fin de l’élément.

(Hérité de TextElement)
ElementSoundMode

Obtient ou définit une valeur qui spécifie la préférence du contrôle pour savoir s’il lit des sons.

ElementSoundModeProperty

Identifie la propriété de dépendance ElementSoundMode .

ElementStart

Obtient un TextPointer qui représente la position juste avant le début de l’élément.

(Hérité de TextElement)
ExitDisplayModeOnAccessKeyInvoked

Obtient ou définit une valeur qui spécifie si l’affichage de la clé d’accès est ignoré lorsqu’une clé d’accès est appelée.

(Hérité de TextElement)
FocusState

Obtient une valeur qui spécifie si ce lien hypertexte a le focus et le mode par lequel le focus a été obtenu.

FocusStateProperty

Identifie la propriété de dépendance FocusState .

FontFamily

Obtient ou définit la famille de polices de niveau supérieur par défaut pour le contenu de l’élément.

(Hérité de TextElement)
FontSize

Obtient ou définit la taille de police pour le contenu de l’élément.

(Hérité de TextElement)
FontStretch

Obtient ou définit la largeur des glyphes de la police dans une famille à sélectionner.

(Hérité de TextElement)
FontStyle

Obtient ou définit le style de police du contenu de cet élément.

(Hérité de TextElement)
FontWeight

Obtient ou définit le poids de police de niveau supérieur à sélectionner dans la famille de polices pour le contenu de cet élément.

(Hérité de TextElement)
Foreground

Obtient ou définit le pinceau à appliquer au contenu de cet élément.

(Hérité de TextElement)
Inlines

Obtient une inlineCollection contenant les éléments inline de niveau supérieur qui incluent le contenu de Span.

(Hérité de Span)
IsAccessKeyScope

Obtient ou définit une valeur qui indique si un élément définit sa propre étendue de clé d’accès.

(Hérité de TextElement)
IsTabStop

Obtient ou définit une valeur qui indique si le lien hypertexte est inclus dans la navigation par onglet.

IsTabStopProperty

Identifie la propriété de dépendance IsTabStop.

IsTextScaleFactorEnabled

Obtient ou définit si l’agrandissement automatique du texte, pour refléter le paramètre de taille de texte système, est activé.

(Hérité de TextElement)
KeyTipHorizontalOffset

Obtient ou définit une valeur qui indique à quelle distance à gauche ou à droite l’info-bulle est placée par rapport à l’élément de texte.

(Hérité de TextElement)
KeyTipPlacementMode

Obtient ou définit une valeur qui indique où l’info-bulle est placée par rapport à l’élément de texte.

(Hérité de TextElement)
KeyTipVerticalOffset

Obtient ou définit une valeur qui indique jusqu’à quel point l’info-bulle est placée par rapport à l’élément de texte.

(Hérité de TextElement)
Language

Obtient ou définit des informations de langue de localisation/globalisation qui s’appliquent à un TextElement.

(Hérité de TextElement)
Name

Obtient ou définit une identification unique pour l’objet . Le nom ne peut être défini qu’à partir de l’analyse initiale de XAML.

(Hérité de TextElement)
NavigateUri

Obtient ou définit l’URI (Uniform Resource Identifier) auquel accéder lorsque le lien hypertexte est activé.

NavigateUriProperty

Identifie la propriété de dépendance NavigateUri .

TabIndex

Obtient ou définit une valeur qui détermine l’ordre dans lequel les éléments reçoivent le focus lorsque l’utilisateur navigue dans les contrôles en appuyant sur la touche Tab.

TabIndexProperty

Identifie la propriété de dépendance TabIndex.

TextDecorations

Obtient ou définit une valeur qui indique les décorations appliquées au texte.

(Hérité de TextElement)
UnderlineStyle

Obtient ou définit une valeur qui indique le type de soulignement affiché sous le lien hypertexte.

UnderlineStyleProperty

Identifie la propriété de dépendance UnderlineStyle .

XamlRoot

Obtient ou définit le XamlRoot dans lequel cet élément est consulté.

(Hérité de TextElement)
XYFocusDown

Obtient ou définit l’objet qui obtient le focus lorsqu’un utilisateur appuie sur le pavé directionnel (DPAD) vers le bas.

XYFocusDownNavigationStrategy

Obtient ou définit une valeur qui spécifie la stratégie utilisée pour déterminer l’élément cible d’une navigation vers le bas.

XYFocusDownNavigationStrategyProperty

Identifie la propriété de dépendance XYFocusDownNavigationStrategy .

XYFocusDownProperty

Identifie la propriété de dépendance XYFocusDown .

XYFocusLeft

Obtient ou définit l’objet qui obtient le focus lorsqu’un utilisateur appuie sur le pavé directionnel (DPAD) gauche.

XYFocusLeftNavigationStrategy

Obtient ou définit une valeur qui spécifie la stratégie utilisée pour déterminer l’élément cible d’une navigation de gauche.

XYFocusLeftNavigationStrategyProperty

Identifie la propriété de dépendance XYFocusLeftNavigationStrategy .

XYFocusLeftProperty

Identifie la propriété de dépendance XYFocusLeft .

XYFocusRight

Obtient ou définit l’objet qui obtient le focus lorsqu’un utilisateur appuie sur le pavé directionnel (DPAD) vers la droite.

XYFocusRightNavigationStrategy

Obtient ou définit une valeur qui spécifie la stratégie utilisée pour déterminer l’élément cible d’une navigation droite.

XYFocusRightNavigationStrategyProperty

Identifie la propriété de dépendance XYFocusRightNavigationStrategy .

XYFocusRightProperty

Identifie la propriété de dépendance XYFocusRight .

XYFocusUp

Obtient ou définit l’objet qui obtient le focus lorsqu’un utilisateur appuie sur le pavé directionnel (DPAD) vers le haut.

XYFocusUpNavigationStrategy

Obtient ou définit une valeur qui spécifie la stratégie utilisée pour déterminer l’élément cible d’une navigation vers le haut.

XYFocusUpNavigationStrategyProperty

Identifie la propriété de dépendance XYFocusUpNavigationStrategy .

XYFocusUpProperty

Identifie la propriété de dépendance XYFocusUp .

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
FindName(String)

Récupère un objet dans le graphe d’objet du modèle objet/runtime en référençant la valeur d’attribut x:Name ou Name de l’objet.

(Hérité de TextElement)
Focus(FocusState)

Tente de définir le focus sur le lien hypertexte.

GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’appliquerait dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject.

(Hérité de DependencyObject)
OnDisconnectVisualChildren()

Remplacez cette méthode pour implémenter le comportement de la disposition et de la logique lorsque des éléments sont supprimés d’un contenu ou d’une propriété enfant spécifique à une classe.

(Hérité de TextElement)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

Événements

AccessKeyDisplayDismissed

Se produit lorsque la séquence de touches d’accès est terminée pour avertir les contrôles qu’ils doivent masquer les visuels de clé d’accès.

(Hérité de TextElement)
AccessKeyDisplayRequested

Se produit lorsque la séquence de touches d’accès est démarrée pour avertir les contrôles qu’ils doivent afficher des visuels de clé d’accès.

(Hérité de TextElement)
AccessKeyInvoked

Se produit lorsqu’un utilisateur termine une séquence de touches d’accès pour informer l’élément que l’action de clé d’accès doit être appelée.

(Hérité de TextElement)
Click

Se produit lorsque l’utilisateur clique sur le lien hypertexte .

GotFocus

Se produit lorsqu’un lien hypertexte reçoit le focus.

LostFocus

Se produit lorsqu’un lien hypertexte perd le focus.

S’applique à

Voir aussi