I want to set the backgroun color for a GridViewColumn that is databound inside of a listview in WPF. I'm not sure how to ask this question being fairly new to WPF, otherwise I wouldn't have bothered all of you.
I want to change the background color of the whole row, based on a bool flag in my databound object.
In this case, I have, well, a "CaseDetail" object, that when there are internal notes "IsInternalNote" I want the color of the row to change.
How can I pull this off in WPF?
What I have now, ( very simple ), which does NOT change the color.
<ListView ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True" > <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding="{Binding Date, StringFormat=MMM dd\, yyyy h:mm tt}" Header="Date" Width="Auto" /> <GridViewColumn DisplayMemberBinding="{Binding SubmittedBy}" Header="Submitted By" Width="Auto" /> <GridViewColumn Width="Auto" Header="Description" x:Name="colDesc"> <GridViewColumn.CellTemplate> <DataTemplate> <ScrollViewer MaxHeight="80" Width="300"> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding Description}" TextWrapping="Wrap" /> <TextBlock Text="{Binding File.FileName}" TextWrapping="Wrap" /> </StackPanel> </ScrollViewer> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView>
I ran into a few troubles trying to do this, ended up like so
<ListBox ...> <ListBox.ItemTemplate> <DataTemplate> <Border x:Name="BGBorder"> <!-- --> </Border> <DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=DataContext.IsAborted, RelativeSource={RelativeSource TemplatedParent}}" Value="True"> <Setter Property="Background" TargetName="BGBorder" Value="Red"> </Setter> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
There may be alternatives, but once I had it working, I stopped looking :)
I haven't tested this yet so it might need some tweaks but you're going to want to trigger off the value to set your background color.
<DataTemplate.Triggers> <Trigger Property="IsInternalNote" Value="True"> <Setter Property="Background" Value="Red" /> </Trigger> </DataTemplate.Triggers>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With