2011-05-15 91 views
2

我在WP7列表框中有以下項目模板。我的綁定類型有一個布爾屬性(狀態),我想有條件地設置網站名稱的顏色基於此。我該怎麼去做這件事?根據數據源的另一個字段在XAML中有條件地設置綁定元素的顏色

在此先感謝!

<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> 

回答

3

最簡單的方法是使用轉換器。要麼你可以讓轉換器返回一個顏色,要麼你可以有兩個TextBlocks,每個TextBlocks都有你想要的顏色,並且使用布爾到可見性,而一個是反向可見性,轉換器隱藏/顯示每個控件。

需要注意的一點是,轉換器速度可能很慢,所以有時候綁定ViewModel會更高效,並且ViewModel會提供您需要的對齊值。

+0

非常感謝!把它放在ViewModel中,效果很好 – 2011-05-15 21:16:31

相關問題