WPF ListView agrupando por 2 columnas pero muestra solo 1 encabezado de grupo
Un ListView muestra una colección de la siguiente clase:
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 una relación de 1 a 1 entre el Departamento y el Administrador, por lo que cualquier 2 filas con el mismo departamento también tendrá el mismo administrador.
Quiero agrupar por Departamento / Gerente, con el encabezado de grupo mostrando "Departamento (Gerente)".
Mi CollectionViewSource se parece a
<CollectionViewSource x:Key="cvsEmployees" Source="{Binding Employees}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Department" />
<PropertyGroupDescription PropertyName="Manager" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
El plan es no mostrar el encabezado de primer nivel (Departamento) y vincular de alguna manera tanto al Departamento (primer nivel) como al Gerente (segundo nivel) del encabezado de segundo nivel.
3 preguntas:
Para evitar mostrar el encabezado de primer nivel, tengo una plantilla de datos vacía en el estilo de grupo:
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
Esto parece muy torpe. ¿Hay una forma más elegante de saltar un encabezado de grupo?
¿Cómo puedo enlazar a la propiedad de primer nivel de grupo (Departamento) del encabezado de segundo nivel (Administrador) para lograr el "Departamento (Administrador) requerido"?
¿Hay una mejor manera de hacerlo que creando 2 niveles de agrupación?
Gracias