Как изменить цвет фона в текстовом блоке в Silverlight?
Мне нужен текстовый блок с голубым текстом на желтом фоне.
Я могу установить синий текст с атрибутом "Передний план".
Но "Background" не работает (это было бы слишком легко, я думаю).
Итак, каков наилучший способ сделать это, оберните его в прямоугольник или холст, который имеет цвет фона?
И есть ли что-нибудь, что мы должны знать о Silverlight, чтобы понять, почему они не включают атрибут Background для многих элементов, на которые вы часто хотите установить цвет фона?
например. это дает ошибку "Свойство Background не было найдено в типе Textblock":
<TextBlock
Foreground="Blue"
Background="Yellow"
Height="20"
HorizontalAlignment="Stretch"
Margin="0"
Test="this is a test"/>
Ответы
Ответ 1
TextBlock получен из FrameworkElement, TextBox получен из Control, который полученный из FrameworkElement. Свойство цвет фона находится в элементе управления.
В WPF TextBlock имеет Фоновое свойство своего.
Лучший способ добавить цвет позади вашего текста - разместить текст внутри контейнера, например, Border или Grid. Что-то вроде:
<Grid Background="Yellow" >
<TextBlock Foreground="Blue"
Height="20"
HorizontalAlignment="Stretch"
Margin="0"
Text="this is a test"/>
</Grid>
Ответ 2
<Border Background="GreenYellow">
<TextBlock Text="sdfs" Height="60" Width="200" />
</Border>
Ответ 3
Это не в Silverlight по какой-то причине, хотя это и есть в WPF. Просто оберните Границу вокруг нее (она автоматически изменит размер содержимого).
Ответ 4
Просто, если кто-то нашел эту нить googling или binging...
Если вам нужен фон для этого, используйте метку, управляйте им в наборе инструментов с версии 3, и я предполагаю, что версия 4 уже включена в ядро.
Обратитесь Управление метками в Silverlight