web-dev-qa-db-fra.com

Comment changer la couleur d'arrière-plan d'un bloc de texte dans Silverlight?

Je veux un bloc de texte avec du texte bleu sur 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, de l'envelopper 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'ont pas inclus d'attribut Background pour de nombreux éléments sur lesquels vous voudriez souvent définir la couleur d'arrière-plan?

par exemple. cela donne l'erreur "La propriété Background n'a pas été trouvée dans le type Textblock":

<TextBlock 
    Foreground="Blue" 
    Background="Yellow"
        Height="20" 
    HorizontalAlignment="Stretch" 
    Margin="0"
    Test="this is a test"/>
27
Edward Tanguay

TextBlock est dérivé de FrameworkElement . TextBox est dérivé de Control , qui est dérivé de FrameworkElement. propriété de couleur d'arrière-plan est placée dans Control.

Dans WPF, le TextBlock a une propriété d'arrière-plan qui lui est propre.

La meilleure façon d'ajouter une couleur derrière votre texte est de placer le texte à l'intérieur d'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
Sorskoot
<Border Background="GreenYellow">
    <TextBlock Text="sdfs" Height="60" Width="200"  />
</Border>
9
igor_bugaenko

Ce n'est pas dans Silverlight pour une raison quelconque, bien qu'il soit dans WPF. Entourez simplement une bordure (elle se redimensionnera automatiquement au contenu).

6
Steven Robbins

Juste si quelqu'un trouve ce fil googler ou binging ...

Si vous avez besoin de fond 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.

Reportez-vous Contrôle d'étiquette dans Silverlight

5
Braulio