我是Windows Phone 7的全新开发人员。我在MainPage.xaml页面上有TextBlock Text="{Binding MyDate}
。
如何从MainPage.xaml.cs更改此TextBlock的颜色?
答案 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"