我是一个完全新手的Windows Phone 7开发者。在MainPage.xaml页面上,我有一个TextBlock Text="{Binding MyDate}
。
我该如何从MainPage.xaml.cs文件中更改这个TextBlock的颜色?
我是一个完全新手的Windows Phone 7开发者。在MainPage.xaml页面上,我有一个TextBlock Text="{Binding MyDate}
。
我该如何从MainPage.xaml.cs文件中更改这个TextBlock的颜色?
TextBlock
元素添加一个 x:Name
属性,例如 x:Name="myTextBlock"
。一旦这样做了,该 TextBlock 就可以作为代码后台中的一个与 x:Name
相同名称的字段可用。myTextBlock.Foreground = new SolidColorBrush(someColor);
<Grid Background="Yellow" >
<TextBlock Foreground="Blue"
Height="20"
HorizontalAlignment="Stretch"
Margin="0"
Text="this is a test"/>
</Grid>
由于您的TextBlock位于DataTemplate中,它将[可能]绑定到集合中的某个项。这意味着如果您将颜色绑定到属性,则需要在项类中而不是在主页中拥有该属性。如果您希望不同的项具有不同的颜色,则需要向项类添加属性。如果您已经有一个不正确类型(刷子)的属性,则可以在绑定上使用转换器以避免添加不必要的属性。
如果您不想将属性添加到项类中,则最好的选择是在页面资源中声明多个DataTemplate,然后根据需要交换模板:
something.ItemTemplate = (DataTemplate)this.Resources["BlueItemTemplate"];
进入XAML中的属性并添加
Foreground="Red"