Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le TextBlock contrôle fournit une prise en charge flexible du texte pour les applications WPF. Ciblez cet élément principalement pour les scénarios d’interface utilisateur de base qui ne nécessitent pas plus d’un paragraphe de texte. Il prend en charge les propriétés qui permettent un contrôle précis de la présentation, telles que FontFamily, , FontSizeFontWeight, TextEffects, et TextWrapping. Ajoutez du contenu texte à l’aide de la Text propriété. Lorsque vous l’utilisez en XAML, le contenu entre la balise ouverte et fermante devient le texte de l’élément.
Définir le contenu du texte
Définissez le contenu du texte dans un TextBlock en utilisant deux approches :
Propriété de texte : pour un texte simple et uniformément mis en forme, utilisez la Text propriété. Cette approche est simple et applique la même mise en forme à tout le texte.
<TextBlock Text="This is simple text." Margin="0,0,0,20"/>Propriété Inlines : Pour le texte avec une mise en forme mixte, utilisez la Inlines propriété. Cette collection contient des éléments inline qui vous permettent d’appliquer différentes mises en forme à différentes parties du texte.
<TextBlock Margin="0,0,0,20"> This text contains <Bold>bold</Bold> and <Italic>italic</Italic> formatting. </TextBlock>
Éléments inline et mise en forme
La Inlines propriété accepte une collection d’éléments Inline qui activent la mise en forme de texte enrichi dans un seul TextBlock. Les éléments en ligne courants sont les suivants :
- Run: représente une série de texte non mis en forme ou uniformément mis en forme.
- Span: regroupe d’autres éléments inline et applique la mise en forme à tous les éléments contenus.
- Bold: applique une mise en forme en gras au texte contenu.
- Italic: Applique la mise en forme italique au texte contenu.
- Underline: applique la mise en forme du soulignement au texte contenu.
- Hyperlink: crée des liens hypertexte cliquables dans le texte.
- LineBreak: insère un saut de ligne.
Cet exemple illustre l’utilisation d’éléments inline :
<TextBlock Margin="0,0,0,20">
<Run FontWeight="Bold" Foreground="Blue">Welcome</Run>
<Run> to </Run>
<Span FontFamily="Courier New">
<Run>formatted</Run>
<Run Foreground="Red"> text</Run>
</Span>
<Run>!</Run>
</TextBlock>
Vous pouvez également manipuler la Inlines collection par programmation pour générer du texte mis en forme dynamiquement :
TextBlock textBlock = new TextBlock();
textBlock.Inlines.Add(new Bold(new Run("Important:")));
textBlock.Inlines.Add(new Run(" This is a message."));
Dim textBlock As New TextBlock()
textBlock.Inlines.Add(New Bold(New Run("Important:")))
textBlock.Inlines.Add(New Run(" This is a message."))
Habillage de texte
La TextWrapping propriété contrôle le comportement du texte lorsqu’il atteint le bord du TextBlock. Définissez-la sur l’une TextWrapping des valeurs d’énumération :
-
NoWrap: le texte n’est pas encapsulé et s’étend au-delà du TextBlock si nécessaire. -
Wrap: le texte est encapsulé à la ligne suivante lorsqu’il atteint le bord. -
WrapWithOverflow: le texte est encapsulé si possible, mais si un seul mot est trop long, il s’étend au-delà de la limite.
<TextBlock TextWrapping="Wrap" Width="200" Margin="0,0,0,20">
This text will wrap to multiple lines when it reaches the width of 200 pixels.
</TextBlock>
L’habillage de texte est particulièrement utile pour les dispositions réactives et lors de l’affichage de contenu dynamique où la longueur du texte est inconnue.
Fonctionnalités typographie et OpenType
WPF TextBlock prend en charge les fonctionnalités de typographie OpenType avancées par le biais de la Typography classe. Ces fonctionnalités permettent un contrôle précis sur le rendu de texte, notamment :
- Ligatures (combinaison de caractères comme « fi » dans un glyphe unique)
- Crénage (ajustement de l’espacement entre des paires de caractères spécifiques)
- Alternatives stylistiques
- Petites majuscules
- Swashes et caractères ornementaux
Accéder aux fonctionnalités typographiques par le biais de propriétés jointes :
<TextBlock Typography.Kerning="True"
Typography.Capitals="SmallCaps"
Margin="0,0,0,20">
Typography Features
</TextBlock>
Pour définir des fonctionnalités typographiques dans le code, utilisez les méthodes statiques sur la Typography classe :
TextBlock textBlock = new TextBlock();
textBlock.Text = "Typography Features";
Typography.SetKerning(textBlock, true);
Typography.SetCapitals(textBlock, FontCapitals.SmallCaps);
Dim textBlock As New TextBlock()
textBlock.Text = "Typography Features"
Typography.SetKerning(textBlock, True)
Typography.SetCapitals(textBlock, FontCapitals.SmallCaps)
Pour plus d’informations sur les fonctionnalités de typographie, consultez Typographie dans WPF.
Hyperlinks
Ajoutez des liens hypertexte cliquables dans un TextBlock élément à l’aide de l’élément Hyperlink . Les liens hypertexte prennent en charge la navigation vers les URI et peuvent répondre aux événements de clic.
<TextBlock Margin="0,0,0,20">
For more information, visit
<Hyperlink NavigateUri="https://learn.microsoft.com">
Microsoft Learn
</Hyperlink>.
</TextBlock>
Gérez les événements de navigation de lien hypertexte pour contrôler le comportement :
<TextBlock>
<Hyperlink NavigateUri="https://example.com"
RequestNavigate="Hyperlink_RequestNavigate">
Click here
</Hyperlink>
</TextBlock>
Dans le code-behind, gérez l’événement RequestNavigate pour ouvrir le lien dans le navigateur par défaut :
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
Process.Start(new ProcessStartInfo
{
FileName = e.Uri.AbsoluteUri,
UseShellExecute = true
});
e.Handled = true;
}
Private Sub Hyperlink_RequestNavigate(sender As Object, e As RequestNavigateEventArgs)
Process.Start(New ProcessStartInfo With {
.FileName = e.Uri.AbsoluteUri,
.UseShellExecute = True
})
e.Handled = True
End Sub
TextBlock vs RichTextBox
Bien qu’il TextBlock soit idéal pour afficher du texte en lecture seule avec une mise en forme, envisagez d’utiliser RichTextBox lorsque vous avez besoin des éléments suivants :
- Plusieurs paragraphes avec une mise en forme différente
- Fonctionnalités d’édition des utilisateurs
- Mise en retrait du texte
- Structures de documents plus complexes
TextBlock offre de meilleures performances et un modèle de programmation plus simple, ce qui en fait le choix préféré pour la plupart des scénarios d’affichage de texte de l’interface utilisateur.
Référence
Sections connexes
.NET Desktop feedback