我在WP7列表框中有以下项目模板。我的绑定类型有一个布尔属性(Status),我想基于此有条件地设置站点名称的颜色。我该怎么做呢?
提前致谢!
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432">
<TextBlock Text="{Binding SiteName}" TextWrapping="Wrap" />
<TextBlock Text="{Binding Url}" TextWrapping="Wrap" Margin="12,-6,12,0" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
答案 0 :(得分:3)
最简单的方法是使用转换器。你可以让转换器返回一个颜色,或者你可以有两个TextBlocks,每个TextBlocks都有你想要的颜色,并使用布尔值到可见性,一个是反向可见性,转换器隐藏/显示每个控件。
需要注意的是转换器可能很慢,因此有时绑定到ViewModel会更高效,并且ViewModel会提供您需要的对接值。