Подтвердить что ты не робот

Как изменить цвет фона в текстовом блоке в Silverlight?

Мне нужен текстовый блок с голубым текстом на желтом фоне. Я могу установить синий текст с атрибутом "Передний план". Но "Background" не работает (это было бы слишком легко, я думаю).

Итак, каков наилучший способ сделать это, оберните его в прямоугольник или холст, который имеет цвет фона?

И есть ли что-нибудь, что мы должны знать о Silverlight, чтобы понять, почему они не включают атрибут Background для многих элементов, на которые вы часто хотите установить цвет фона?

например. это дает ошибку "Свойство Background не было найдено в типе Textblock":

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

Ответ 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