2011-05-29 36 views
0

如下面的代码所示,我有一个Canvas,里面有一个TextBlock。在它旁边,有两个textBlocks,它们的文本属性绑定到LineOne和LineTwo,ObservableCollection变量。我想要的是创建一个绑定,给出日期并相应地更改Canvas的颜色。如何在这种情况下进行绑定?

理论上,我可以绑定DateTextBlockText属性的日期更改。但我不知道如何去做Canvas的颜色变化。

<DataTemplate> 
<StackPanel Orientation="Horizontal" Margin="0,0,0,17"> 
<!--Replace rectangle with image--> 
<Canvas Width="100" Height="100" Background="YellowGreen"> 
<StackPanel> 
<TextBlock Name="DateTextBlock" Text="16 May" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
</StackPanel> 
</Canvas> 
<StackPanel Width="311">          
<TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
<TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
</StackPanel> 
</StackPanel> 
</DataTemplate> 

请告诉我。 谢谢,

回答

0

在视图模型上创建一个颜色属性,并且一个属性改变了通知程序。将视图属性绑定到Color属性。在视图模型中,当文本更改(或者任何想要触发颜色更改的内容)时,请使用适当的颜色更新Color属性,确保使用公共属性,以便触发更改事件。

+0

Canvas.Background的类型是彩色的没有,你需要提供一个刷 – ColinE 2011-05-29 06:33:38