2012-04-28 72 views
6
<ListView ItemsSource="{Binding}" Name="myView"> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn DisplayMemberBinding="{Binding fieldA}" Header="Field A" /> 
        <GridViewColumn DisplayMemberBinding="{Binding fieldB}" Header="Field B" />     </GridView> 
      </ListView.View> 
     </ListView> 

我想知道如何格式化我的列表视图,以便如果object.fieldA ==“苹果”,该字体在fieldA单元格中是红色的。如何根据单元格的值更改WPF ListView的单元格中的字体颜色?

谢谢boffins。

回答

6

您需要使用DataTemplate来显示fieldA值并添加触发器,以更改给定值的Foreground属性。

另请参阅Data Templating Overview MSDN上。

<GridViewColumn Header="Field A"> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock x:Name="Txt" Text="{Binding fieldA}" /> 
      <DataTemplate.Triggers> 
       <DataTrigger Binding="{Binding fieldA}" Value="apples"> 
        <Setter TargetName="Txt" Property="Foreground" Value="Red" /> 
       </DataTrigger> 
      </DataTemplate.Triggers> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 
+0

非常感谢。感谢您的链接了。 – jsj 2012-04-28 13:02:58

相关问题