1
我有一个列表框(这里的XAML):如何根据其绑定值更改listitem的视觉样式?
<ListBox MinWidth="300" ItemsSource="{Binding Relationships, Mode=OneWay}"
SelectedItem="{Binding SelectedRelationship, Mode=TwoWay}" SelectionMode="Single"
HorizontalAlignment="Left" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<CheckBox IsChecked = "{Binding IsPrimary}" IsHitTestVisible="False" />
<StackPanel Orientation="Horizontal" Grid.Column="1">
<TextBlock Text="{Binding RelationshipType}" FontWeight="Bold" Margin="0,0,5,0" />
<TextBlock Text="{Binding Status}" FontStyle="Italic" />
</StackPanel>
<TextBlock Text="{Binding UnitName}" Grid.Row="1" Grid.Column="1" />
<TextBlock Text="{Binding StartDate, Converter={StaticResource DateConverter}}" Grid.Row="2" Grid.Column="1"/>
<TextBlock Text="{Binding RetireDate}" Grid.Row="3" Grid.Column="1" />
<TextBlock Text="{Binding EndDate}" Grid.Row="4" Grid.Column="1" />
<TextBlock Text="{Binding ReasonForLeaving}" Grid.Row="5" Grid.Column="1" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我想要做的是有ListBox中的每个项目有3个背景(绿色的,如果,如果结束日期的值isPrimary =的值为true,橙如果EndDate值不为空,则值为空且灰色
是否有办法对列表框项目进行模板化,以便它们评估绑定项目以确定视图状态或将每个列表框项目绑定到可以设置为我的viewmodel中的每个项目?
感谢您的帮助。
+1那将很好地做到这一点。尽管Xaml语法可以做一些整理。失踪“,并关闭} – AnthonyWJones 2010-06-10 23:34:06
谢谢安东尼 - 现在修复它:) – kiwipom 2010-06-11 03:46:34