Witam serdecznie.
Potrzebuję dodać nagłówki do comboboxa który wyświetla itemy w Gridzie:
Działający kod:

<Window x:Class="Window1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Window1"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
    <Window.Resources>
        <Style x:Key="txtStyle" TargetType="{x:Type TextBlock}">
            <Setter Property="TextAlignment" Value="Center"></Setter>
        </Style>

        <DataTemplate x:Key="EmpKey">
            <Grid Height="50" Width="160" ShowGridLines="True">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="40"></ColumnDefinition>
                    <ColumnDefinition Width="60"></ColumnDefinition>
                    <ColumnDefinition Width="50"></ColumnDefinition>
                </Grid.ColumnDefinitions>

                <TextBlock Grid.Column="0"  Text="{Binding EmpNo}"
                    Style="{StaticResource txtStyle}"></TextBlock>
                <TextBlock Grid.Column="1"  Text="{Binding EmpName}"
                    Style="{StaticResource txtStyle}"></TextBlock>
                <TextBlock Grid.Column="2"  Text="{Binding DeptName}"
                    Style="{StaticResource txtStyle}"></TextBlock>
            </Grid>
        </DataTemplate>

        <Style TargetType="{x:Type ComboBoxItem}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=DeptName}" Value="IT">
                    <Setter Property="Background" Value="White"></Setter>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=DeptName}" Value="HR">
                    <Setter Property="Background" Value="Blue"></Setter>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=DeptName}" Value="ITSF">
                    <Setter Property="Background" Value="Gray"></Setter>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=DeptName}" Value="BH">
                    <Setter Property="Background" Value="DarkGray"></Setter>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=DeptName}" Value="AI">
                    <Setter Property="Background" Value="Blue"></Setter>
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=DeptName}" Value="MKTG">
                    <Setter Property="Background" Value="DarkBlue"></Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>

    <Grid>
        <ComboBox Height="38" Margin="0,27,0,0"
                  Name="comboBox1"
                  VerticalAlignment="Top" ItemsSource="{Binding}"
                  ItemTemplate="{StaticResource EmpKey}"
                   IsSynchronizedWithCurrentItem="True"
                   HorizontalAlignment="Left" Width="200">
        </ComboBox>
    </Grid>
</Window>
 
using System.Collections.ObjectModel;
using System.Windows;

namespace Window1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        ObservableCollection<Empl> _emp = new ObservableCollection<Empl>();
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            _emp.Add(new Empl() { EmpNo = 101, EmpName = "Mahesh", DeptName = "IT" });
            _emp.Add(new Empl() { EmpNo = 102, EmpName = "Ajay", DeptName = "IT" });
            _emp.Add(new Empl() { EmpNo = 103, EmpName = "Rahul", DeptName = "IT" });
            _emp.Add(new Empl() { EmpNo = 104, EmpName = "Pradnya", DeptName = "HR" });
            _emp.Add(new Empl() { EmpNo = 105, EmpName = "Abhijeet", DeptName = "ITSF" });
            _emp.Add(new Empl() { EmpNo = 106, EmpName = "Keshav", DeptName = "MKTG" });
            _emp.Add(new Empl() { EmpNo = 107, EmpName = "Prasanna", DeptName = "MKTG" });
            _emp.Add(new Empl() { EmpNo = 108, EmpName = "Shailesh", DeptName = "BH" });
            _emp.Add(new Empl() { EmpNo = 109, EmpName = "Sidhhart", DeptName = "ITSF" });
            _emp.Add(new Empl() { EmpNo = 1010, EmpName = "Kaipl", DeptName = "AI" });

            this.DataContext = _emp;

        }
    }
    public class Empl
    {
        public int EmpNo { get; set; }
        public string EmpName { get; set; }
        public string DeptName { get; set; }
    }
}