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