WPF-ListView-Gruppierung nach 2 Spalten, jedoch nur 1 Gruppenkopf

Eine ListView zeigt eine Sammlung der folgenden Klasse an:

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; }
    }
}

Es besteht eine 1: 1-Beziehung zwischen Abteilung und Manager, sodass 2 Zeilen mit derselben Abteilung auch denselben Manager haben.

Ich möchte nach Abteilung / Manager gruppieren, wobei der Gruppenkopf "Abteilung (Manager)" anzeigt.

Meine CollectionViewSource sieht aus wie

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

Es ist geplant, die Kopfzeile der ersten Ebene (Abteilung) nicht anzuzeigen und in irgendeiner Weise sowohl an die Abteilung (1. Ebene) als auch an den Manager (2. Ebene) aus der Kopfzeile der 2. Ebene zu binden.

3 Fragen:

Um die Anzeige des Headers der ersten Ebene zu vermeiden, habe ich eine leere Datenvorlage im Gruppenstil:

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

Das scheint sehr klobig. Gibt es eine elegantere Möglichkeit, einen Gruppenkopf zu überspringen?

Wie binde ich vom Header der 2. Ebene (Manager) an die Eigenschaft der 1. Gruppierungsebene (Abteilung), um die erforderliche "Abteilung (Manager)" zu erreichen?

Gibt es eine bessere Möglichkeit, als zwei Gruppierungsebenen zu erstellen?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage