Comment changer la couleur d'arrière-plan d'un Textblock dans Silverlight?

Je veux un textblock qui a du texte bleu sur un fond jaune. Je peux définir le texte bleu avec l'attribut "premier plan". Mais "Background" ne fonctionne pas (ce serait trop facile je suppose).

Alors, quelle est la meilleure façon de le faire, enveloppez-le dans un Rectangle ou une toile qui a une couleur d'arrière-plan?

Et, y a-t-il quelque chose que nous devrions savoir sur Silverlight pour comprendre pourquoi ils n'incluaient pas d'attribut D'arrière-plan pour de nombreux éléments sur lesquels vous voudriez souvent définir le couleur d'arrière-plan?

Par exemple, cela donne l'erreur "L'arrière-plan de la propriété n'a pas été trouvé dans le type Textblock":

<TextBlock 
    Foreground="Blue" 
    Background="Yellow"
        Height="20" 
    HorizontalAlignment="Stretch" 
    Margin="0"
    Test="this is a test"/>
27
demandé sur Edward Tanguay 2009-02-01 16:56:02

4 réponses

TextBlock est dérivée à partir de FrameworkElement. TextBox est dérivée à partir de Contrôle, qui est dérivé de FrameworkElement. La propriété Couleur D'arrière-plan est placée dans le contrôle.

Dans WPF, le TextBlock a une propriété Background qui lui est propre.

La meilleure façon d'ajouter une couleur derrière votre texte est de placer le texte dans un conteneur comme une bordure ou une grille. Quelque chose comme:

<Grid  Background="Yellow" >  
    <TextBlock Foreground="Blue"
               Height="20"
               HorizontalAlignment="Stretch"
               Margin="0" 
               Text="this is a test"/> 
</Grid>
43
répondu Sorskoot 2009-02-03 12:40:16
<Border Background="GreenYellow">
    <TextBlock Text="sdfs" Height="60" Width="200"  />
</Border>
9
répondu igor_bugaenko 2015-12-01 09:34:34

Ce N'est pas dans Silverlight pour une raison quelconque, bien qu'il soit dans WPF. Il suffit d'envelopper une bordure autour de lui (il sera redimensionné au contenu automatiquement).

6
répondu Steven Robbins 2009-02-01 14:27:29

Juste si quelqu'un fonde ce fil googling ou binging...

Si vous avez besoin d'arrière-plan pour cela, utilisez le contrôle d'étiquette, il est dans la boîte à outils depuis la version 3, et je suppose que sur la version 4, il est déjà inclus dans le noyau.

Référez-vous au contrôle de L'Étiquette dans Silverlight

5
répondu Braulio 2013-09-25 14:17:51