2012-04-28 26 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> 

Me gustaría saber cómo formatear mi vista de lista para que si object.fieldA == "apples", la fuente es roja en la celda fieldA.¿Cómo puedo cambiar el color de la fuente en una celda de un WPF ListView dependiendo del valor de la celda?

Gracias boffins.

Respuesta

6

Debe usar un DataTemplate para mostrar el valor fieldA y agregar un activador que cambie la propiedad Foreground por un valor determinado.

Vea también Data Templating Overview en 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

Gracias eso es genial. Gracias por el enlace también. – jsj

Cuestiones relacionadas