WPF ListView agrupando por 2 colunas, mas exibe apenas 1 cabeçalho de grupo

Um ListView exibe uma coleção da seguinte classe:

public class Employee
{
    private string _department;
    private string _manager;
    private string _name;
    private string _address;

    public string Department
    {
        get { return _department; }
    }
    public string Manager
    {
        get { return _manager; }
    }
    public string Name
    {
        get { return _name; }
    }
    public string Address
    {
        get { return _address; }
    }
}

Existe uma relação de 1 para 1 entre departamento e gerente, portanto, quaisquer duas linhas com o mesmo departamento também terão o mesmo gerente.

Quero agrupar por Departamento / Gerente, com o cabeçalho do grupo mostrando "Departamento (Gerente)".

Meu CollectionViewSource parece

    <CollectionViewSource x:Key="cvsEmployees" Source="{Binding Employees}">
        <CollectionViewSource.GroupDescriptions>
            <PropertyGroupDescription PropertyName="Department" />
            <PropertyGroupDescription PropertyName="Manager" />
        </CollectionViewSource.GroupDescriptions>
    </CollectionViewSource>

O plano é não exibir o cabeçalho do primeiro nível (Departamento) e, de alguma forma, vincular o Departamento (1º nível) e o Gerente (2º nível) do cabeçalho do 2º nível.

3 perguntas:

Para evitar a exibição do cabeçalho de primeiro nível, tenho um modelo de dados vazio no estilo de grupo:

<GroupStyle>
    <GroupStyle.HeaderTemplate>
       <DataTemplate>
       </DataTemplate>
    </GroupStyle.HeaderTemplate>
</GroupStyle>

Isso parece muito desajeitado. Existe uma maneira mais elegante de pular um cabeçalho de grupo?

Como faço para vincular a propriedade do 1º nível de agrupamento (Departamento) do cabeçalho do segundo nível (Gerente) para obter o "Departamento (Gerente)" necessário?

Existe uma maneira melhor de fazer isso do que criar dois níveis de agrupamento?

obrigado

questionAnswers(2)

yourAnswerToTheQuestion