Comment faire un simple lien hypertexte dans XAML?

Tout ce que je veux faire est de créer un petit lien hypertexte dans XAML. J’ai tout essayé J’abandonne.

Quelle est la syntaxe pour cela?

 Close      

Équipe de Visual Studio: Dans Visual Studio 2010, je souhaite que Clippy s’affiche et dise “Il semble que vous essayiez de créer un lien hypertexte” et que vous me disiez comment procéder. Tu ne peux pas faire ça avec MEF? Ce serait cool, et ces problèmes de “comment faire ce que je sais déjà faire en HTML” perdent beaucoup de temps pendant le processus d’apprentissage avec XAML.

Vous pouvez utiliser un bouton avec un modèle de contrôle personnalisé, le code ci-dessous est un bouton de style de lien hypertexte limité (par exemple, il ne prend en charge que les liens hypertexte textuels) mais peut-être que cela vous orientera dans la bonne direction.

       

Vous ne pouvez pas append un lien hypertexte à un StackPanel – vous obtiendrez une erreur d’exécution. (En fait, je suis un peu surpris que ce ne soit pas une erreur de compilation.) C’est parce que Hyperlink ne vit pas dans le côté “contrôles” de WPF avec et et d’autres éléments disposés sur des blocs rectangulars de l’écran et descendre de UIElement . Au lieu de cela, il se trouve du côté “texte” des choses, avec et et et d’autres éléments généralement textuels qui enveloppent les lignes et les paragraphes et descendent de TextElement .

Une fois que vous vous rendez compte qu’il existe deux hiérarchies de classes distinctes avec des comportements de mise en page différents, il est logique que Hyperlink se trouve du côté “texte” (facilite par exemple un paragraphe avec un lien hypertexte au milieu, et même pour cela) lien hypertexte pour envelopper un saut de ligne).

Mais non, ce n’est pas si détectable quand vous commencez.

Pour mélanger les deux mondes et utiliser un lien hypertexte comme contrôle, il vous suffit de le placer dans un TextBlock. TextBlock est une chose de contrôle-ish (c.-à-d. Peut aller dans un StackPanel) qui contient des choses text-ish (c.-à-d., Peut contenir un lien hypertexte):

 Close 

Essaye ça:

  MSN  

 private void Hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e) { System.Diagnostics.Process.Start("http://www.msn.com"); } 

Vous constaterez peut-être que si vous effectuez une liaison autre que des valeurs de texte simples, vous devrez utiliser ContentPresenter sinon rien ne s’affiche, cela peut être vrai si vous vous connectez à une source de données XML.

Un déclencheur de propriété pour IsMouseOver donne au texte un soulignement.

Un exemple où je me lie à XML est présenté ci-dessous.

  
      

Cela va lier tout texte lié dans le bloc de texte nested, je n’ai pas encore trouvé de meilleur moyen, j’aimerais que le premier bloc de texte ne soit pas là si possible. Cela fonctionnera pour DataTemplates aussi.

Vous pouvez simplement utiliser HyperlinkButton . Lorsque l’utilisateur clique dessus, l’URL sera affichée dans votre navigateur Web:

  

Habituellement, la signification d’un lien hypertexte est de donner une ancre pour envoyer l’utilisateur à une autre page ou de parler généralement à une autre ressource. Il est donc implémenté de telle manière et vous devez spécifier l’emplacement de cette ressource comme suit:

  Web Site  

Cependant, j’ai trouvé cet article de blog avec un TextBlock personnalisé utilisé comme HyperLink et prenant en charge les événements de clic.

dans UWP avec mvvmcross j’utilise cette