Quantcast
Channel: Extended WPF Toolkit™ Community Edition
Viewing all articles
Browse latest Browse all 4964

New Post: DataGrid - Changing the GroupHeaderControl Background Color based on its value

$
0
0
Hi,

You can use a Converter to scan for "Element2" .
<local:MyConverter x:Key="MyConverter" />

      <Style TargetType="{x:Type xcdg:GroupHeaderControl}">
         <Setter Property="Template">
            <Setter.Value>
               <ControlTemplate TargetType="{x:Type xcdg:GroupHeaderControl}">
                  <Border Background="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource MyConverter}}"
                          BorderThickness="2">
                     <StackPanel Orientation="Horizontal">
                        <ContentPresenter />
                     </StackPanel>
                  </Border>
               </ControlTemplate>
            </Setter.Value>
         </Setter>
      </Style>

 public class MyConverter : IValueConverter
  {
    public object Convert( object value, Type targetType, object parameter, CultureInfo culture )
    {
      if( value is Group )
      {
        Group currentGroup = ( Group )value;
        if( currentGroup.Value.Equals( "Element2" ) )
          return new SolidColorBrush( Colors.Green );

        foreach( Group group in currentGroup.ParentGroups )
        {
          if( group.Value.Equals( "Element2" ) )
            return new SolidColorBrush( Colors.Green );
        }
      }
      return new SolidColorBrush( Colors.Orange );
    }
    public object ConvertBack( object value, Type targetType, object parameter, CultureInfo culture )
    {
      throw new NotImplementedException();
    }
  }

Viewing all articles
Browse latest Browse all 4964

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>