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"/>
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>
<Border Background="GreenYellow">
<TextBlock Text="sdfs" Height="60" Width="200" />
</Border>
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).
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