Изменить цвет фона текстового блока в C#

#c# #silverlight #windows-phone-7

#c# #silverlight #windows-phone-7

Вопрос:

В настоящее время при переносе приложения на Windows Phone 7 я столкнулся с проблемой, которая должна быть тривиальной

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

 <TextBox Height="148" HorizontalAlignment="Left" Margin="106,0,0,0" Name="textBox1" Text="TextBox" VerticalAlignment="Top" Width="460" Background="Black" BorderBrush="Black" Foreground="White" />
 

Но мне нужно сделать это в коде (C #), и фон, похоже, не является свойством TextBlock .
Почему это можно сделать с помощью редактора ресурсов, но не в коде?

Я нашел различные похожие вопросы, но однозначного ответа нет. В документации Microsoft (.Net) текстовый блок, похоже, имеет свойство Background

Есть ли способ сделать это в коде без необходимости помещать текстовый блок в контейнер (например, Grid), который имеет свойство Background? Спасибо JY

Комментарии:

1. вы говорите о текстовом блоке или текстовом поле??

2. 1 @Xin Я предполагаю, что TextBox потому что TextBlock не имеет свойства Background .

3. Хммм. Я вижу, в чем моя проблема.. Я использовал текстовое поле в редакторе ресурсов, когда пытался использовать текстовый блок в коде .. Дух ..!

Ответ №1:

TextBlock не наследуется от Control , у него нет Background свойства. Код, который вы показываете TextBox , не является a TextBlock . TextBox наследуется Control и обладает Background свойством. Самый простой способ — обернуть его символом a Panel , или вы можете создать для него пользовательский элемент управления.

Кроме того, в silverilight sdk у вас есть вызываемый элемент управления Label , от которого он наследуется Control . Вероятно, вы можете получить исходный код оттуда и реализовать его в своем проекте.

Комментарии:

1. Спасибо за это.. Я заглянул в инструментарий silverlight, я не вижу никакого элемента управления «Label».. Я нашел другую часть, которая будет очень полезна. Спасибо

2. ой, извините! Метка на самом деле взята из silverlith sdk … да, августовский выпуск siverlight toolkit для Windows 7 mango очень полезен. 🙂