从cs更改TextBlock颜色(Windows Phone 7)

时间:2011-11-13 09:37:44

标签: silverlight windows-phone-7 textblock

我是Windows Phone 7的全新开发人员。我在MainPage.xaml页面上有TextBlock Text="{Binding MyDate}

如何从MainPage.xaml.cs更改此TextBlock的颜色?

4 个答案:

答案 0 :(得分:6)

首先,您需要为TextBlock元素提供x:Name属性,例如x:Name="myTextBlock"。完成此操作后,TextBlock在代码隐藏中可用作与您在x:Name中放置的名称相同的字段。

要设置TextBlock的前景色,您可以使用类似

的内容
myTextBlock.Foreground = new SolidColorBrush(someColor);

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

由于您的TextBlock位于DataTemplate中,它[可能]将绑定到集合中的项目。这意味着如果将颜色绑定到属性,则需要在item类中而不是在主页中使用该属性。如果您希望不同的项目具有不同的颜色,则需要向项目类添加属性。如果您已经拥有不正确类型的属性(Brush),那么您可以在绑定上使用转换器以避免添加不必要的属性。

如果您不想将属性添加到项类中,那么最好的选择是在页面Resources中声明多个DataTemplates,然后根据需要交换模板:

something.ItemTemplate = (DataTemplate)this.Resources["BlueItemTemplate"];

答案 3 :(得分:0)

进入xaml中的属性并添加

Foreground="Red"