Изменить цвет фона TextBlock в C # - PullRequest
1 голос
/ 21 октября 2011

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

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

<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) TextBlock действительно имеет свойство Background

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

1 Ответ

5 голосов
/ 21 октября 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...