Accueil

WPF : Hyperlink, la face cachée du TextBlock

by Jean-Camille Mercier 6. août 2013 22:14

Comment faire un lien hypertexteen Xaml ? Voilà une bonne question avec un réponse toute simple :
avec un textblock !

<TextBlock>
  <Hyperlink NavigateUri="http://www.inetsis.fr/">
    Cliquez ici
  </Hyperlink>
</TextBlock>

On peut même aller un peu plus loin en se disant qu'en WPF on préfère mettre une commande plutôt qu'une URI ...

<TextBlock>
  <Hyperlink Command="{Binding UneCommande}">
    Cliquez ici
  </Hyperlink>
</TextBlock>

Ces quelques lignes de codes sont l'occasion de se pencher un peu sur les capacités réelles des TextBlock. La fonction de base : afficher du texte, peut aller très loin s'il on maîtrise les différents TextElement (MSDN) que l'on peut y insérer :

La liste n'est pas exhaustive.

Voici un exemple de mise en forme rapide que l'on peut faire :

<TextBlock>
  <Run Text="Agent : " />
  <Run Text="{Binding Nom}" />
  <Run Text="{Binding Prenom}" />
  <LineBreak />
  <Run Text="née le " />
  <Run Text="{Binding DateNaissance, StringFormat={}{0:d}}" />
  <Run Text=" à " />
  <Run Text="{Binding Ville}" />
</TextBlock>