WPF ListView группируется по 2 столбцам, но отображает только 1 заголовок группы
ListView отображает коллекцию следующего класса:
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; }
}
}
Между отделом и менеджером существует отношение 1: 1, поэтому любые 2 строки с одним и тем же отделом также будут иметь одного и того же менеджера.
Я хочу сгруппировать по отделам / менеджерам, с заголовком группы, показывающим «Отдел (менеджер)».
Мой CollectionViewSource выглядит так
<CollectionViewSource x:Key="cvsEmployees" Source="{Binding Employees}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Department" />
<PropertyGroupDescription PropertyName="Manager" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
План состоит в том, чтобы не отображать заголовок первого уровня (Отдел) и каким-либо образом связывать и отдел (1-й уровень), и менеджера (2-й уровень) из заголовка 2-го уровня.
3 вопроса:
Чтобы избежать отображения заголовка 1-го уровня, у меня есть пустой шаблон данных в стиле группы:
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
Это кажется очень неуклюжим. Есть ли более элегантный способ пропустить заголовок группы?
Как связать свойство 1-го уровня группировки (Отдел) из заголовка 2-го уровня (Менеджер), чтобы получить требуемый «Отдел (Менеджер)»?
Есть ли лучший способ сделать это, чем создание 2 уровня группировки?
Спасибо