Изменение цвета TextBlock от CS (Windows Phone 7) - PullRequest
4 голосов
/ 13 ноября 2011

Я совершенно новый разработчик для Windows Phone 7. У меня есть TextBlock Text="{Binding MyDate} на странице MainPage.xaml.

Как я могу изменить цвет этого текстового блока с MainPage.xaml.cs?

Ответы [ 4 ]

6 голосов
/ 13 ноября 2011

Во-первых, вам нужно присвоить элементу TextBlock атрибут x:Name, например, x:Name="myTextBlock". После того, как вы это сделаете, TextBlock будет доступен в выделенном фрагменте кода как поле с тем же именем, которое вы указали в x:Name.

Чтобы установить цвет переднего плана TextBlock, вы можете использовать что-то вроде

myTextBlock.Foreground = new SolidColorBrush(someColor);
0 голосов
/ 25 марта 2012

Зайдите в свойствах в xaml и добавьте

Foreground="Red"
0 голосов
/ 13 ноября 2011

Поскольку ваш TextBlock находится в DataTemplate, он [вероятно] будет связываться с элементом в коллекции.Это означает, что если вы привязываете цвет к свойству, оно понадобится вам в классе элементов, а не на главной странице.Если вы хотите, чтобы разные элементы были разных цветов, вам нужно добавить свойство в класс элементов.Если у вас уже есть свойство неправильного типа (Brush), вы можете использовать конвертер для привязки, чтобы избежать добавления ненужного свойства.

Если вы не хотите добавлять свойство в свойВ таком случае лучше всего объявить несколько DataTemplates на страницах ресурсов, а затем поменять местами шаблоны по мере необходимости:

something.ItemTemplate = (DataTemplate)this.Resources["BlueItemTemplate"];
0 голосов
/ 13 ноября 2011

попробуйте это:

<Grid  Background="Yellow" >  
    <TextBlock Foreground="Blue"
               Height="20"
               HorizontalAlignment="Stretch"
               Margin="0" 
               Text="this is a test"/> 
</Grid>
...